MemberPress Developer Tools Add-on estende o MemberPress para incluir um API REST completa e recurso de evento Webhook completo.
Se a documentação nesta página parecer sucinta em relação às ferramentas para desenvolvedores, é porque toda a documentação sobre os eventos de webhook e as URLs da API REST pode ser encontrada na interface do plugin. Na verdade, a interface fornecerá resultados dinâmicos com os quais você poderá trabalhar, além da possibilidade de testar webhooks diretamente do seu site. Você também pode consultar os documentos adicionais a seguir para obter mais informações:
- Ações das ferramentas do desenvolvedor
- Ferramentas do desenvolvedor Acionadores de eventos
- Como adicionar Usermeta via API REST (ferramentas de desenvolvedor)
Começar não poderia ser mais fácil… veja como
- Certifique-se de que sua chave de ativação do MemberPress seja para a versão MemberPress Edição em escala.
- Para instalar o complemento MemberPress Developer Tools, vá para a página MemberPress > Add-ons e clique no botão "Install Add-on" (Instalar complemento).

- Para usar a API REST do MemberPress, você precisará ter o WordPress 4.7 ou uma versão posterior instalada
- Quando o complemento Developer Tools estiver instalado e ativado, você verá um novo item no menu do MemberPress:

- No Menu do Desenvolvedor, agora você poderá configurar webhooks, acessar a documentação dinâmica sobre eventos de webhook e testá-los, além de acessar a documentação dinâmica sobre todas as URLs da API REST do MemberPress:



Exemplo de código PHP cURL
Este exemplo adiciona um membro, atribui-o a uma associação (por meio de uma transação) e aciona um e-mail de boas-vindas no processo:
'testingboy897@test.com',
'username' => 'testingboy897@test.com',
'first_name' => 'test',
'last_name' => 'test_last_name',
'send_welcome_email' => true, // Aciona um e-mail de boas-vindas - isso só funciona se for adicionada uma transação (abaixo)
'transaction' => [
'membership' => 376, // ID da associação
'amount' => '0.00',
'total' => '0.00',
'tax_amount' => '0.00',
'tax_rate' => '0.000',
'trans_num' => 'mp-txn-' . uniqid(),
'status' => 'complete',
'gateway' => 'free',
'created_at' => gmdate( 'c' ),
'expires_at' => '0000-00-00 00:00:00'
]
]
);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, "POST" ); curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, "POST" );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $data_string );
$header = array();
$header[] = 'MEMBERPRESS-API-KEY: MgCUGSO5Qg'; // Sua chave de API das ferramentas de desenvolvedor do MemberPress aqui
$header[] = 'Content-Type: application/json';
$header[] = 'Content-Length: ' . strlen($data_string);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$response = curl_exec($ch);
se(curl_errno($ch)){
throw new Exception(curl_error($ch));
}
echo $response;
curl_close($ch);
Chave do webhook
Desde o MemberPress Developer Tools Add-on 1.2.5, introduzimos uma configuração de chave de webhook que pode ser encontrada no menu MemberPress > Developers > guia Webhook.

Você pode usar a chave para autenticar solicitações POST de webhook. Ela é gerada automaticamente pelo complemento MemberPress, mas se você achar que sua chave foi comprometida, poderá gerar novamente uma nova chave de webhook a qualquer momento.
Para validar a solicitação do webhook, obtenha os cabeçalhos HTTP e procure por “memberpress-webhook-key”. Aqui está um exemplo de um cabeçalho HTTP com “memberpress-webhook-key” recebido após a criação de uma nova URL de webhook no menu MemberPress > Desenvolvedores > guia Webhook e a escuta de eventos de cadastro:

Solução de problemas de autenticação básica
O método preferencial de autenticação é por meio da chave de API fornecida pelo MemberPress Developer Tools. No entanto, sabemos que muitos de vocês também usam o método menos seguro - Autenticação básica - para se conectar à WP-API. No entanto, isso pode apresentar alguns desafios, com os quais as informações abaixo podem ajudá-lo.
Se você estiver com dificuldades para fazer a autenticação básica funcionar, certifique-se de que
instalou o plug-in Application Passwords e seguiu suas instruções.
Uma solicitação típica de autenticação básica é a seguinte:
Nome do cabeçalho:
Autorização
Valor do cabeçalho:
Basic base64_encode( wp_admin_user_login_here:application_passwords_password_here )
Seu usuário deve ter o
remove_users ou o MemberPress Developer Tools retornará uma resposta 401.

Se você ainda não conseguir se autenticar, é possível que seu servidor de hospedagem tenha alguns problemas de configuração.
Leia mais sobre a causa mais comum aqui. O plugin Application Passwords precisa ter as variáveis PHP_AUTH_USER e PHP_AUTH_PW definidas. Se elas não estiverem definidas, o Application Passwords não conseguirá autenticar o usuário, e você precisará entrar em contato com seu provedor de hospedagem para corrigir isso. Normalmente, é necessário adicionar algo como o seguinte ao arquivo .htaccess:
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
Se tudo mais falhar, o melhor é simplesmente usar a chave da API no
MEMBERPRESS-API-KEY cabeçalho de solicitação HTTP. Abaixo está um exemplo de código com a chave de API e PHP cURL:
<?php
$url = 'http://testsite.com/wp-json/mp/v1/me';
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$headers = [ 'MEMBERPRESS-API-KEY: MdCUPSO5Qr', 'Content-Type: application/json' ];
curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers );
$response = curl_exec( $ch );
se( curl_errno( $ch ) ) { throw new Exception( curl_error( $ch ) ); }
curl_close($ch);
echo $response;
Solução de problemas com webhooks
Se os webhooks de teste estiverem funcionando, mas os testes ao vivo não estiverem sendo disparados, o WP Cron provavelmente está desativado ou não está funcionando como deveria. As ferramentas de desenvolvedor do MemberPress dependem do WP Cron para enviar os webhooks.
Nesse caso, a maneira mais fácil de verificar é verificar a tabela wp_mepr_jobs em seu banco de dados para ver se os trabalhos de webhook estão presos lá com um status de "pendente".
Quando possível, recomendamos desativar o WP Cron baseado no carregamento da página e, em vez disso, acioná-lo a partir de um cron do lado do servidor que seja executado a cada minuto. A SiteGround tem um ótimo artigo sobre
fazendo isso aqui. E o WordPress.org tem alguns informações adicionais aqui. Infelizmente, não podemos ajudá-lo com isso, e seu provedor de hospedagem precisará ajudá-lo a fazer essa configuração.
Se você não conseguir fazer com que o WP Cron funcione corretamente, mesmo depois de habilitar um cron do lado do servidor, talvez seja necessário (como último recurso) executar a seguinte consulta:
UPDATE wp_options SET option_value = '' WHERE option_name = 'cron';

