• Resuelto ireferpesa

    (@ireferpesa)


    buenas, estoy creando una funcion para carritos abandonados que cree un cupon, pero ahora que ya lo tengo hecho, necesito enviar este codigo por API a Brevo, que es el CRM del cliente.

    Desde la página de documentacion de Brevo funciona perfectamente, pero mi llamada no y no encuentro el error (me estoy volviendo loca)

    Documentacion de Brevo

    Mi código

    $url = 'https://api.brevo.com/v3/contacts/' . urlencode($email);
    $api_key = 'blablabla';
        
        $headers = array(
            'Content-Type: application/json',
    		'accept: application/json',
            'api-key: ' . $api_key
        );
        $data = array(
            'attributes' => array(
                'CUPON' => $coupon_code
            )
        );
        $args = array(
            'method'  => 'PUT',
            'headers' => $headers,
            'body'    => json_encode($data),
        );
    
        $response = wp_remote_request($url, $args);
    • Este debate fue modificado hace 5 meses, 2 semanas por ireferpesa.
Viendo 3 respuestas - de la 1 a la 3 (de un total de 3)
  • Hola,

    Aunque no conozco la API de Brevo, te puedo aconsejar que compruebes si la consulta ha dado algún error, de este modo:

    // Comprobar si la repuesta fue exitosa o generó algún error
    if ( is_wp_error( $response ) ) {
        echo "Error en la solicitud: $response->get_error_message()";
    } else {
        $response_code = wp_remote_retrieve_response_code( $response );
        $response_message = wp_remote_retrieve_response_message( $response );
        
        if ( $response_code === 200 ) {
            echo 'La solicitud fue exitosa. El contacto ha sido actualizado.';
        } else {
            echo "Error en la respuesta. Código: $response_code. ";
            // También puedes mostrar la respuesta para obtener más detalles, si es necesario:
            echo "Mensaje de error: $response_message.";
        }
    }
    Iniciador del debate ireferpesa

    (@ireferpesa)

    mil gracias por responder, al final me cambie a curl y funciona (si funciona ya no se toca mas, jejeje)

    por si le puede ayudar a alguien

    curl_setopt_array($curl, [
    	  CURLOPT_URL => $url,
    	  CURLOPT_RETURNTRANSFER => true,
    	  CURLOPT_ENCODING => "",
    	  CURLOPT_MAXREDIRS => 10,
    	  CURLOPT_TIMEOUT => 30,
    	  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    	  CURLOPT_CUSTOMREQUEST => "PUT",
    	  CURLOPT_POSTFIELDS => json_encode([
    		'attributes' => [
    			'CUPON' => $coupon_code
    		]
    	  ]),
    	  CURLOPT_HTTPHEADER => [
    		"accept: application/json",
    		"api-key: " . $api_key,
    		"content-type: application/json"
    	  ],
    	]);

    Hola @ireferpesa,

    Me alegra mucho saber que has conseguido la forma de hacerlo funcionar 🙂

    ¡Feliz año nuevo! ✨

Viendo 3 respuestas - de la 1 a la 3 (de un total de 3)
  • Debes estar registrado para responder a este debate.