Last active
June 30, 2024 17:37
-
-
Save fmagrosoto/fa9f1e3d0818b4d90e62139641fc3c85 to your computer and use it in GitHub Desktop.
Uso de API REST de WooCommerce para importar clientes masivamente
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html lang='es-MX'> | |
<head> | |
<meta charset='UTF-8'> | |
<meta content='width=device-width, initial-scale=1.0' name='viewport'> | |
<title>Importador de clientes a WooCommerce</title> | |
</head> | |
<body> | |
<h1>Importar clientes a WooCommerce</h1> | |
<p> | |
Como sabes, WooCommerce es un plugin gratuito y de código abierto que se instala en WordPress | |
y agrega funcionalidades de ecommerce al núcleo de WordPress. Es una plataforma especializada en | |
comercio electrónico, personalizable y basada en WordPress. | |
</p> | |
<p> | |
Como es una tienda en línea, habrá veces que quieras IMPORTAR tus propios clientes que tengas | |
almacenado en otras partes, como en algún CRM o en algún documento de Excel. Pero la acción | |
de importar clientes a WooCommerce es algo que se deberá de hacer por medio de <i>plugins</i> | |
y todos los <i>plugins</i> con de pago. O puedes irlos metiendo a mano, uno por uno. | |
</p> | |
<p> | |
Pero ¿qué pasa si no quieres usar algún <i>plugin</i> de pago y tampoco quieres darlo de alta a mano, | |
uno por uno? Bueno, WooCommerce pone a disposición métodos RESP API para que puedas utilizar | |
endpoints para lograr alguna acción como crear clientes, modificarlos, eliminarlos. Y no solo clientes, | |
sino productos y algunas otras cosas más. | |
</p> | |
<p> | |
Checa el <a href="https://woocommerce.github.io/woocommerce-rest-api-docs/?javascript#" target="_blank"> | |
sitio oficial de REST API de Woocommerce</a> para mayores detalles. | |
</p> | |
<p> | |
Pero aquí muestro la forma sencilla de IMPORTAR MASIVAMENTE a clientes desde un arreglo JSON. | |
Revisa el código de la página para más detalles. | |
</p> | |
</body> | |
<script> | |
// Datos de autenticación (reemplaza con tus propias credenciales) | |
const apiKey = '-tu-propia-credencial-pública' | |
const apiSecret = 'tu-popia-credencia-privada' | |
const baseUrl = 'https://cambia-tu-sitio-web.com/wp-json/wc/v3' | |
// Endpoint para crear un cliente masivamente (hasta 100 clientes por vez) | |
const endpoint = `${baseUrl}/customers/batch`; | |
const base64Credentials = btoa(`${apiKey}:${apiSecret}`); | |
// Lista de clientes en formato JSON | |
const json_data = { | |
create: [ | |
{"email":"correo1@correo.com","first_name":"nombre01","last_name":"apellido01"}, | |
{"email":"correo2@correo.com","first_name":"nombre02","last_name":"apellidos02"}, | |
{"email":"correo3@correo.com","first_name":"nombre03","last_name":"apellidos03"}, | |
] | |
} | |
/** | |
* MÉTODO PARA CARGAR DE MANERA MASIVA CLIENTES A WOOCOMMERCE | |
* Usando el REST API de WooCommerce | |
* | |
* @author Fernando Magrosoto Vásquez | |
* @see https://woocommerce.github.io/woocommerce-rest-api-docs/?javascript# | |
* @param customerData | |
*/ | |
function meterCliente(customerData) { | |
// Configuración de la solicitud | |
const requestOptions = { | |
method: 'POST', | |
headers: { | |
'Authorization': `Basic ${base64Credentials}`, | |
'Content-Type': 'application/json' | |
}, | |
body: JSON.stringify(customerData) | |
}; | |
// Realiza la solicitud | |
fetch(endpoint, requestOptions) | |
.then(response => response.json()) | |
.then(data => console.log('Cliente creado:', data)) | |
.catch(error => console.error('Error al crear el cliente:', error)); | |
} | |
// Llamada a la función | |
meterCliente(json_data) | |
</script> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment