Automattic\WooCommerce\Admin\API
MobileAppMagicLink{}
REST API Data countries controller class.
No Hooks.
Usage
$MobileAppMagicLink = new MobileAppMagicLink(); // use class methods
Methods
- public register_routes()
- public send_magic_link()
MobileAppMagicLink{} MobileAppMagicLink{} code WC 9.3.3
class MobileAppMagicLink extends \WC_REST_Data_Controller { /** * Endpoint namespace. * * @var string */ protected $namespace = 'wc-admin'; /** * Route base. * * @var string */ protected $rest_base = 'mobile-app'; /** * Register routes. * * @since 7.0.0 */ public function register_routes() { register_rest_route( $this->namespace, '/' . $this->rest_base . '/send-magic-link', array( array( 'methods' => \WP_REST_Server::READABLE, 'callback' => array( $this, 'send_magic_link' ), 'permission_callback' => array( $this, 'get_items_permissions_check' ), ), 'schema' => array( $this, 'get_public_item_schema' ), ) ); parent::register_routes(); } /** * Sends request to generate magic link email. * * @return \WP_REST_Response|\WP_Error */ public function send_magic_link() { // Attempt to get email from Jetpack. if ( class_exists( Jetpack_Connection_Manager::class ) ) { $jetpack_connection_manager = new Jetpack_Connection_Manager(); if ( $jetpack_connection_manager->is_active() ) { if ( class_exists( 'Jetpack_IXR_Client' ) ) { $xml = new \Jetpack_IXR_Client( array( 'user_id' => get_current_user_id(), ) ); $xml->query( 'jetpack.sendMobileMagicLink', array( 'app' => 'woocommerce' ) ); if ( $xml->isError() ) { return new \WP_Error( 'error_sending_mobile_magic_link', sprintf( '%s: %s', $xml->getErrorCode(), $xml->getErrorMessage() ) ); } return rest_ensure_response( array( 'code' => 'success', ) ); } } } return new \WP_Error( 'jetpack_not_connected', __( 'Jetpack is not connected.', 'woocommerce' ) ); } }