HTTP 401 Unauthorized
Chyba: affinite_invalid_api_key
Příčina: chybí nebo nesprávný X-Affinite-API-Key header.
Řešení:
- Verifikujte hodnotu klíče:
wp option get affinite_wp_affiliate_api_key
- V request klientovi check, že header je
X-Affinite-API-Key(case-sensitive ve většině HTTP libraries, ale WP REST je case-insensitive). - Pozor na trailing whitespace v klíči — některé tools jej přidávají při copy-paste.
- Plugin používá
hash_equals()pro timing-safe comparison.
Chyba: affinite_api_key_not_configured (503)
Příčina: option affinite_wp_affiliate_api_key v DB neexistuje. Stávalo se po upgrade z verze 1.1, kde aktivace neproběhla.
Řešení:
# Vygenerujte nový klíč
wp eval 'update_option("affinite_wp_affiliate_api_key", wp_generate_password(48, false), false);'
# Nebo deactivate + activate plugin přes admin nebo CLI:
wp plugin deactivate affinite-wp-affiliate
wp plugin activate affinite-wp-affiliate
HTTP 429 Too Many Requests
Chyba: affinite_rate_limit_exceeded
Příčina: per-IP rate limit je 10 requestů / 60 sekund. Vaše integrace pravděpodobně volá endpoint v batch nebo neoptimalizovaně.
Řešení:
- Throttle na straně klienta — přidejte delay mezi requesty.
- Retry s exponential backoff — pokud 429, počkejte 5/10/20 sekund a zkuste znovu.
- Server-side proxy — pokud máte hodně klientů, pošlete je přes vlastní proxy s vyšším limitem.
Chyba: affinite_rate_limit_unknown_ip (400)
Plugin nemohl zjistit IP klienta (REMOTE_ADDR chybí nebo není validní IP). Stává se v některých CLI/cron kontextech.
Řešení: volejte endpoint výhradně z reálných HTTP requestů. Pro internal automation použijte přímý PHP call:
// Bypass REST + rate limit:
$cm = new AffiniteWPAffiliateCommissionCommissionManager();
$cm->create_commission([...]);
HTTP 400 Bad Request
- invalid_affiliate — affiliate_code neexistuje nebo není active.
- invalid_amount — amount mimo rozsah (0 < amount ≤ TRACK_CONVERSION_MAX_AMOUNT, default 1 000 000).
- missing required parameter — chybí
affiliate_codeneboamount.
Logging
Pro debug zapněte WP_DEBUG_LOG a sledujte:
tail -f wp-content/debug.log | grep -i affinite
