API de Anthropic (Claude) * Para usar con WPCode (o Code Snippets), como snippet tipo «PHP» con alcance «Run everywhere». * * QUÉ HACE: * Crea un endpoint propio en tu WordPress (postflyer.net/wp-json/metaads/v1/generate) * que recibe la petición del generador de campañas, le agrega tu API key de Anthropic * (que nunca se expone al navegador del visitante) y reenvía la respuesta. * * ANTES DE ACTIVAR: reemplaza las dos líneas marcadas con TODO más abajo. */ add_action(‘rest_api_init’, function () { register_rest_route(‘metaads/v1’, ‘/generate’, array( ‘methods’ => ‘POST’, ‘callback’ => ‘metaads_proxy_to_claude’, ‘permission_callback’ => ‘__return_true’, )); }); function metaads_proxy_to_claude(WP_REST_Request $request) { // TODO 1: cambia esto por una clave secreta inventada por ti (cualquier texto largo y único). // Debe ser EXACTAMENTE la misma que pongas en la constante SHARED_SECRET del archivo HTML. $secret_expected = ‘CAMBIA-ESTO-POR-TU-PROPIA-CLAVE-SECRETA-123’; $secret_received = $request->get_header(‘x-metaads-secret’); if ($secret_received !== $secret_expected) { return new WP_REST_Response(array(‘error’ => ‘No autorizado’), 401); } // TODO 2: pega aquí tu API key real de Anthropic (empieza con sk-ant-…). $api_key = ‘TU_API_KEY_DE_ANTHROPIC_AQUI’; $body = $request->get_body(); $response = wp_remote_post(‘https://api.anthropic.com/v1/messages’, array( ‘headers’ => array( ‘Content-Type’ => ‘application/json’, ‘x-api-key’ => $api_key, ‘anthropic-version’ => ‘2023-06-01’, ), ‘body’ => $body, ‘timeout’ => 90, // las respuestas largas de la campaña completa pueden tardar )); if (is_wp_error($response)) { return new WP_REST_Response(array(‘error’ => $response->get_error_message()), 500); } $status = wp_remote_retrieve_response_code($response); $data = wp_remote_retrieve_body($response); return new WP_REST_Response(json_decode($data, true), $status); }
Scroll al inicio