AFFYNOR
SobreSuportePerguntas frequentesContato
DOCUMENTAÇÃO · CONECTOR WOOCOMMERCE

Conector WooCommerce da AFFYNOR

Sincronize encomendas, catálogo e devoluções da sua loja WooCommerce e atribua as vendas às suas campanhas de publicidade (refs de clique e ttclid do TikTok) com reconciliação automática.

1. Instalação

1.1 Criar consumer keys (permissões Read/Write)

WooCommerce → Definições → Avançado → API REST → «Adicionar chave». Permissões: leitura/escrita (criar webhooks exige escrita). A loja tem de estar acessível por HTTPS.

1.2 Ligar a partir da plataforma

Em A Minha Loja → cartão WooCommerce, introduza o URL base da loja, a consumer key e o consumer secret. A ligação é validada de imediato e fica ativa.

1.3 Instalar o snippet de atribuição

O snippet tem duas partes: o hook PHP (functions.php ou um code snippet) que imprime a encomenda na página de agradecimento, e o JavaScript (GTM ou o tema) que registra a referência e dispara o evento de compra.

add_action('woocommerce_thankyou', function ($order_id) {
  if (!$order_id) return;
  $order = wc_get_order($order_id);
  echo '<div id="affynor-order" data-affynor-order-id="' . esc_attr($order->get_id())
    . '" data-affynor-order-total="' . esc_attr($order->get_total())
    . '" data-affynor-order-currency="' . esc_attr($order->get_currency()) . '" style="display:none"></div>';
}, 10);
<script>!function(){var S="https://affynor.com",K="TU_SECRETO";function u(n){try{return new URLSearchParams(location.search).get(n)}catch(e){}}function c(n){try{return document.cookie.split("; ").find(function(x){return x.indexOf(n+"=")===0}).slice(n.length+1)}catch(e){}}var r=u("affynor_ref")||c("affynor_ref")||c("tiktok_ttclid");if(r){try{document.cookie="affynor_ref="+encodeURIComponent(r)+"; path=/; max-age=31536000"}catch(e){}}var b=u("fbclid")||c("affynor_fbc");if(b&&!/^fb[.]/.test(b)){b="fb.1."+Date.now()+"."+b}if(b){try{document.cookie="affynor_fbc="+encodeURIComponent(b)+"; path=/; max-age=31536000"}catch(e){}}function f(o){try{fetch(S+"/store/pixel",{method:"POST",headers:{"Content-Type":"application/json","x-affynor-pixel-secret":K},body:JSON.stringify({order_id:o.id,revenue_cents:Math.round(+o.total*100),currency:o.cur||"EUR",ref_code:r,fbclid:b})})}catch(e){}}window.affynorPixel=f;function a(){var e=document.getElementById("affynor-order");if(e)f({id:e.getAttribute("data-affynor-order-id"),total:e.getAttribute("data-affynor-order-total")||"0",cur:e.getAttribute("data-affynor-order-currency")});}if(/thank|gracias|success|pedido|confirm/i.test(location.pathname))setTimeout(a,400)}();</script>

Substitua TU_SECRETO pelo segredo de pixel mostrado no cartão da loja ligada.

2. Atribuição

O parâmetro affynor_ref do URL do anúncio (ou o ttclid do TikTok) é guardado num cookie e anexado à encomenda na página de agradecimento. O snippet guarda também o fbclid da Meta —no formato fb.1.<momento>.<fbclid>— para que a conversão possa ser emparelhada com o clique na Meta. O evento fica pendente e é reconciliado automaticamente com as encomendas sincronizadas: só as vendas verificadas são atribuídas às suas campanhas.

3. Sincronização

Os webhooks do WooCommerce (order.created, order.updated, product.created, product.updated) entregam as alterações em tempo real; um sincronizador de segurança percorre a loja a cada 10 minutos — incluindo as devoluções via GET /orders/{id}/refunds — para que nenhuma encomenda fique por registar mesmo que o cron do WordPress falhe.

4. Devoluções

As devoluções são sincronizadas automaticamente e subtraídas da receita atribuída do mês. Uma encomenda totalmente devolvida é rejeitada na reconciliação: nunca gera comissão.

5. Modelo de tarifas

15% da receita atribuída do mês, com mínimo de 129,90 €. Se o mês não tiver vendas atribuídas, o mínimo não se aplica (mês 1 grátis). O mínimo é único por merchant mesmo com várias lojas ligadas (por exemplo Shopify + WooCommerce).

6. Resolução de problemas

O webhook não chega

O cron do WordPress do merchant está desativado ou atrasado

Verificar o cron no WP; entretanto o sync de segurança (a cada 10 min) cobre as encomendas. Documentado nas Perguntas frequentes.
Assinatura de webhook rejeitada (hmac_ok=0)

A variante de assinatura (body vs delivery_url+body) ou o consumer secret não coincidem

Recalcular o HMAC com o consumer secret atual e recriar o webhook com esse segredo.
WOO_HTTP_401/403 no sync

Consumer key revogada ou sem permissões de leitura/escrita

Regenerar a chave no WooCommerce e voltar a ligar a partir do cartão.
Encomenda com ref não atribuída

O snippet não disparou (adblock, cookie, página diferente da de agradecimento)

Verificar o snippet na página de agradecimento; o evento fica PENDING até o sync o reconciliar.

7. Estado e roteiro

O conector está em validação com merchants piloto: ligação, atribuição e sincronização completas (Fases A–D); a validação em lojas reais (Fase E) está em curso. A publicação como extensão no marketplace do WooCommerce é o próximo marco.

AFFYNORInteligência de performance
  • AwinRede de afiliados
  • AdmitadRede de afiliados
  • Google AdsPlataforma de anúncios
  • MetaPlataforma de anúncios
SiteSobrePadrões de parceirosContatoAjudaDocumentaçãoSuportePerguntas frequentesTermosPrivacidadeConformidadeSimulador de campanha ↗
AnálisesAnálisesRankings SaaSHospedagemSegurança e VPNFolha e RH

As marcas pertencem aos respetivos proprietários. A sua presença identifica as redes e plataformas usadas pela AFFYNOR; não implica patrocínio nem certificação.

Beta privada · Sem retornos garantidos · Fundos de cliente OFF