Partners (versi贸n obsoleta 馃毃)
鈿狅笍 AVISO IMPORTANTE PARA DESARROLLADORES
Esta versi贸n de la integraci贸n de Partners est谩 obsoleta y solo debe utilizarse si ya est谩 implementada actualmente en tus sistemas.
Esta versi贸n dejar谩 de funcionar el 23 de enero de 2026.
Por favor, migra a la nueva versi贸n lo antes posible para evitar interrupciones en tu servicio.
Importante
Se ha realizado una actualizaci贸n en los endpoints de esta secci贸n de nuestra API, Es importante que actualices tus integraciones para reflejar este cambio. Ten en cuenta que esta actualizaci贸n solo afecta las URLs; el funcionamiento de los endpoints permanece sin cambios.
Antes: { HOST }/v4/resellers/clients/create
Ahora: { HOST }/v4/partners/clients/create
Crear cliente para partners
A continuaci贸n se explica la funcion para partners con la cual podras crear cuentas para tus clientes y asignarles planes para que comiencen a facturar
Tip
Es importante tener configurados los planes en tu interfaz los cuales asiganaras a los clientes que generes por API
A continuaci贸n se explica como crear una cuenta para tus clientes de tu plan partner
Importante
Para poder registrar nuevos clientes, es necesario haber configurado correctamente el SMTP desde el panel de partner, si necesitas ayuda, puedes ver nuetros manuales de configuraci贸n SMTP.
Podemos crear un nuevo cliente haciendo uso de los siguientes par谩metros:
| Par谩metro | Tipo | Requerido | Detalles |
|---|---|---|---|
| 聽rfc | 聽String | 聽Requerido | 聽Indica el RFC con el cual se registrara la cuenta. |
| 聽razons | 聽String | 聽Requerido | 聽La raz贸n social con la cual identificaremos la cuenta. |
| 聽codpos | 聽Numerico | 聽Requerido | 聽El codigo postal debe concordar con el RFC registrado en esta cuenta |
| 聽email | 聽String | 聽Requerido | 聽Corresponde a un email valido para nuestra nueva cuenta |
| 聽paquete | 聽String | 聽Requerido | 聽Se ingresa el UID de que identifica el paquete que deseamos ingresar, este debe existir e nuestra cuenta previamente |
| 聽folios | 聽String | 聽Opcional | 聽El numero de folios que se asignaran al el usuario de la cuenta |
| 聽precio | 聽String | 聽Opcional | 聽Indica el precio por folio que se asignara para su plan聽 |
| 聽vigencia | 聽String | 聽Opcional | 聽En esta seccion definiremos la vigencia del plan, si se envia vacio no tendra vigencia, de otro modo es obligatorio escribir la palabra correspondiente a cada vigencia con la primer letra en mayuscula. Trimestral Semestral Anual |
| 聽servicios | 聽Array | 聽Opcional | 聽Este campo se debe definir si agregaremos servicios personalizados a la cuenta que crearemos y puede contener uno o varios de los siguientes valores: api smtp_mail custom_email extra_rfc extra_user cfdi_migrator autofacturacion pdf_templates |
| 聽api | 聽Booleano | 聽Opcional | 聽Indica si la cuenta a crearse tendra habilitadas las funciones de API se, puede dejar vacio para el valor default del plan asignado |
| 聽smtp_mail | 聽Booleano | 聽Opcional | 聽Indica si la cuenta a crearse tendra habilitadas las funciones de聽smtp para email, se puede dejar vacio para el valor default del plan asignado |
| 聽custom_email | 聽Booleano | 聽Opcional | 聽Indica si la cuenta a crearse tendra habilitadas las funciones de聽un email personalizado, se puede dejar vacio para el valor default del plan asignado |
| 聽extra_rfc | 聽Numerico | 聽Opcional | 聽Se ingresa el聽numero de los RFC extra que se desean agregar a la cuenta, se puede dejar vacio para el valor default del plan asignado |
| 聽cfdi_migrator | 聽boolean | 聽Opcional | 聽Indica si se habilita el Migrador CFDI. Requiere que el partner cuente con Plan Elite. Si se omite, se aplicar谩 el valor configurado por defecto en el paquete. |
| 聽autofacturacion | 聽boolean | 聽Opcional | 聽Indica si se habilita el Autofacturador. Requiere que el partner cuente con Plan Elite. Si se omite, se aplicar谩 el valor configurado por defecto en el paquete. |
| 聽pdf_templates | 聽object | 聽Opcional | 聽Objeto con las plantillas PDF habilitadas. Las claves disponibles son: default, classic, formal, minimalist, trendy y elegant(valores boolean). Solo es posible activar las plantillas incluidas en el plan del partner.Ejemplo: "pdf_templates": { |
| 聽extra_user | 聽Numerico | 聽Opcional | 聽Se ingresa el numero de Usuarios extra que se desean agregar a la cuenta, se puede dejar vacio para el valor default del plan asignado |
| 聽pais | 聽String | 聽Opcional | 聽Indica el Pais para los datos fiscales de la nueva cuenta |
| 聽estado | 聽String | 聽Opcional | 聽Indica el聽Estado para los datos fiscales de la nueva cuenta |
| 聽ciudad | 聽String | 聽Opcional | 聽Indica la Ciudad para los datos fiscales de la nueva cuenta |
| 聽localidad | 聽String | 聽Opcional | 聽Indica la Localidad para los datos fiscales de la nueva cuenta |
| 聽colonia | 聽String | 聽Opcional | 聽Indica la Colonia para los datos fiscales de la nueva cuenta |
| 聽calle | 聽String | 聽Opcional | 聽Indica la Calle para los datos fiscales de la nueva cuenta |
| 聽numero_exterior | 聽Numerico | 聽Opcional | 聽Indica el numero exterior del domicilio para los datos fiscales de la nueva cuenta |
| 聽numero_interior | 聽Numerico | 聽Opcional | 聽Indica el聽numero interior del domicilio para los datos fiscales de la nueva cuenta |
| 聽nombre | 聽String | 聽Opcional | 聽El nombre de los datos personales del usuario de la cuenta |
| 聽apellidos | 聽String | 聽Opcional | Los apellidos de los datos personales del usuario de la cuenta |
| 聽telefono | 聽Numerico | 聽Opcional | 聽El聽telefono de casa de los datos personales del usuario de la cuenta |
| 聽celular | 聽Numerico | 聽Opcional | 聽El聽telefono celular de los datos personales del usuario de la cuenta |
Importante
El m茅todo que se utiliza para la creacion de la un cliente es de tipo POST
Construcci贸n de la URL
Host: https://api.factura.com (producci贸n) / https://sandbox.factura.com/api (sandbox)
Endpoint: /v4/partners/clients/create
Ejemplo: https://api.factura.com/v4/partners/clients/create
Tip
Para probar el ejemplo de c贸digo, necesitas cambiar "Tu API key" por la clave de API de tu cuenta, y "Tu Secret key" por la clave secreta correspondiente.
Ejemplo para dar de alta un nuevo cliente
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => '{ HOST }/v4/partners/clients/create',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"rfc": "XAXX010101000",
"razons": "Publico en General",
"codpos": "44444",
"email": "[email protected]",
"paquete": "600b1690b5926",
"folios": "100",
"precio": "10",
"vigencia": "Trimestral",
"servicios": {
"api": false,
"smtp_mail" : true,
"custom_email" : true,
"extra_rfc" : 2,
"extra_user": 1,
"cfdi_migrator": false,
"autofacturacion": true,
"pdf_templates": {
"default": true,
"classic": true,
"formal": false,
"minimalist": false,
"trendy": false,
"elegant": false
}
},
"pais": "M茅xico",
"estado": "Jalisco",
"ciudad": "Guadalajara",
"localidad": "Guadalajara",
"colonia": "Circunvalaci贸n Guevara",
"calle": "Lopez Mateos",
"numero_exterior": "1111",
"numero_interior": "1",
"nombre": "Pruebas",
"apellidos": "Pruebas",
"telefono": "3344556677",
"celular": "4455667788"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'F-PLUGIN: 9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key: Tu API key',
'F-Secret-Key: Tu Secret key'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
var request = require('request');
var options = {
'method': 'POST',
'url': '{ HOST }/v4/partners/clients/create',
'headers': {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
},
body: JSON.stringify({
"rfc": "XAXX010101000",
"razons": "Publico en General",
"codpos": "44444",
"email": "[email protected]",
"paquete": "600b1690b5926",
"folios": "1",
"precio": "10",
"vigencia": "Trimestral",
"servicios": {
"api": false,
"smtp_mail": true,
"custom_email": true,
"extra_rfc": 2,
"extra_user": 1,
"cfdi_migrator": false,
"autofacturacion": true,
"pdf_templates": {
"default": true,
"classic": true,
"formal": false,
"minimalist": false,
"trendy": false,
"elegant": false
}
},
"pais": "M茅xico",
"estado": "Jalisco",
"ciudad": "Guadalajara",
"localidad": "Guadalajara",
"colonia": "Circunvalaci贸n Guevara",
"calle": "Lopez Mateos",
"numero_exterior": "1111",
"numero_interior": "1",
"nombre": "Pruebas",
"apellidos": "Pruebas",
"telefono": "3344556677",
"celular": "4455667788"
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import requests
import json
url = "{ HOST }/v4/partners/clients/create"
payload = json.dumps({
"rfc": "XAXX010101000",
"razons": "Publico en General",
"codpos": "44444",
"email": "[email protected]",
"paquete": "600b1690b5926",
"folios": "1",
"precio": "10",
"vigencia": "Trimestral",
"servicios": {
"api": False,
"smtp_mail": True,
"custom_email": True,
"extra_rfc": 2,
"extra_user": 1,
"cfdi_migrator": False,
"autofacturacion": True,
"pdf_templates": {
"default": True,
"classic": True,
"formal": False,
"minimalist": False,
"trendy": False,
"elegant": False
}
},
"pais": "M茅xico",
"estado": "Jalisco",
"ciudad": "Guadalajara",
"localidad": "Guadalajara",
"colonia": "Circunvalaci贸n Guevara",
"calle": "Lopez Mateos",
"numero_exterior": "1111",
"numero_interior": "1",
"nombre": "Pruebas",
"apellidos": "Pruebas",
"telefono": "3344556677",
"celular": "4455667788"
})
headers = {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("{ HOST }/v4/partners/clients/create")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["F-PLUGIN"] = "9d4095c8f7ed5785cb14c0e3b033eeb8252416ed"
request["F-Api-Key"] = "Tu API key"
request["F-Secret-Key"] = "Tu Secret key"
request.body = JSON.dump({
"rfc": "XAXX010101000",
"razons": "Publico en General",
"codpos": "44444",
"email": "[email protected]",
"paquete": "600b1690b5926",
"folios": "1",
"precio": "10",
"vigencia": "Trimestral",
"servicios": {
"api": false,
"smtp_mail": true,
"custom_email": true,
"extra_rfc": 2,
"extra_user": 1,
"cfdi_migrator": false,
"autofacturacion": true,
"pdf_templates": {
"default": true,
"classic": true,
"formal": false,
"minimalist": false,
"trendy": false,
"elegant": false
}
},
"pais": "M茅xico",
"estado": "Jalisco",
"ciudad": "Guadalajara",
"localidad": "Guadalajara",
"colonia": "Circunvalaci贸n Guevara",
"calle": "Lopez Mateos",
"numero_exterior": "1111",
"numero_interior": "1",
"nombre": "Pruebas",
"apellidos": "Pruebas",
"telefono": "3344556677",
"celular": "4455667788"
})
response = https.request(request)
puts response.read_body
Respuesta
Importante
En la respuesta se nos detalla dentro de la respuesta en el campo "details": el numero de folios restantes que tenemos despues de la creaci贸n de la cuenta para nuestro cliente para tener un mejor control de nuestros folios.
Respuesta exitosa
{
"response": "success",
"data": {
"UID": "62e4269697909",
"ApiKey": "Tu API Key",
"SecretKey": "Tu Secret Key",
"RazonSocial": "ZAPATERIA URTADO 脩ERI",
"RFC": "ZU脩920208KL4",
"Correo": "[email protected]",
"Creado": "2022-07-29",
"PaqueteAdquirido": "Personalizado",
"Servicios": {
"Api": true,
"Smtp_mail": true,
"Custom_email": true,
"Extra_rfc": 0,
"Extra_user": 0,
"Cfdi_migrator": false,
"Autofacturacion": false,
"Pdf_templates": {
"default": true,
"classic": true,
"formal": false,
"minimalist": false,
"trendy": false,
"elegant": false
}
},
"FechaExpiracion": "2022-10-29",
"FoliosTotales": 1,
"FoliosUsados": 0,
"FoliosRestantes": 1,
"Estado": "A",
"Nombre": "Pruebas",
"Apellido": "",
"Telefono": "3344556677",
"Celular": "4455667788",
"Domicilio": {
"Pais": "M茅xico",
"Estado": "Jalisco",
"Ciudad": "Guadalajara",
"Localidad": "Guadalajara",
"Colonia": "Circunvalaci贸n Guevara",
"Calle": "Lopez Mateos",
"CodigoPostal": "44444",
"NumeroExterior": "1111",
"NumeroInterior": "1"
}
},
"details": "Cliente creado correctamente. Folios restantes: 1499"
}
Respuesta erronea
Aviso
El mensaje de error puede variar dependiendo el nodo en el que haya informaci贸n incorrecta. Te sugerimos leer cuidadosamente el mensaje del error ya que en el mismo se indica donde es necesario corregir la informaci贸n.
{
"response": "error",
"details": "El RFC es requerido."
}
Respuesta cuando aun no se configura el SMTP
{
"response": "error",
"details": "Actualiza la configuraci贸n de SMTP para poder crear el cliente."
}
Respuesta cuando se envia autofacturacion en true sin Plan Elite
{
"response": "error",
"details": "La caracter铆stica \"Autofacturador\" requiere Plan Elite."
}
Respuesta cuando se envia true en una plantilla de PDF que no esta dentro de tu plan
{
"response": "error",
"details": "Las siguientes plantillas PDF no est谩n permitidas en tu plan: Elegante"
}
Consultar tus planes de Partner
A continuaci贸n se explica la funcion para partners con la cual podras consultar los planes con los que cuentas registrados en tu panel de partner
Tip
Es importante tener configurados los planes en tu interfaz los cuales asiganaras a los clientes que generes por API
A continuaci贸n se explica como recuperar los planes que tienes en tu panel donde podras consultar el UID necesario para asignar un plan a una cuenta nueva.
Importante
El m茅todo que se utiliza para la creacion de la empresa es de tipo POST
Construcci贸n de la URL
Host: https://api.factura.com (producci贸n) / https://sandbox.factura.com/api (sandbox)
Endpoint: /v4/partners/packages
Ejemplo: https://api.factura.com/v4/partners/packages
Tip
Para probar el ejemplo de c贸digo, necesitas cambiar "Tu API key" por la clave de API de tu cuenta, y "Tu Secret key" por la clave secreta correspondiente.
Ejemplo para recuperar los paquetes de tu cuenta de Partner
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => '{ HOST }/v4/partners/packages',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'F-PLUGIN: 9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key: Tu API key',
'F-Secret-Key: Tu Secret key'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
var request = require('request');
var options = {
'method': 'GET',
'url': '{ HOST }/v4/partners/packages',
'headers': {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import requests
import json
url = "{ HOST }/v4/partners/packages"
payload = ""
headers = {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("{ HOST }/v4/partners/packages")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Content-Type"] = "application/json"
request["F-PLUGIN"] = "9d4095c8f7ed5785cb14c0e3b033eeb8252416ed"
request["F-Api-Key"] = "Tu API key"
request["F-Secret-Key"] = "Tu Secret key"
response = https.request(request)
puts response.read_body
Respuesta
Tip
En la respuesta se nos detalla dentro del campo "details": el numero de folios restantes que tenemos despues de la creaci贸n de la cuenta para nuestro cliente para tener un mejor control de nuestros folios.
Respuesta exitosa
{
"response": "success",
"data": [
{
"UID": "600b1690b5926",
"Nombre": "Uno a Uno",
"Folios": 1,
"Precio": "1.00",
"Servicios": {
"Api": false,
"Smtp_mail": false,
"Custom_email": false,
"Extra_rfc": 0,
"Extra_user": 0,
"Cfdi_migrator": false,
"Autofacturacion": false,
"Pdf_templates": {
"default": true,
"classic": false,
"formal": false,
"minimalist": false,
"trendy": false,
"elegant": false
}
},
"Vendidos": 4,
"Expiracion": false,
"Periodo_expiracion": ""
},
{
"UID": "600b18d6366c5",
"Nombre": "Dos en Dos",
"Folios": 2,
"Precio": "1.00",
"Servicios": {
"Api": false,
"Smtp_mail": false,
"Custom_email": false,
"Extra_rfc": 0,
"Extra_user": 0,
"Cfdi_migrator": true,
"Autofacturacion": false,
"Pdf_templates": {
"default": true,
"classic": true,
"formal": false,
"minimalist": false,
"trendy": false,
"elegant": false
}
},
"Vendidos": 2,
"Expiracion": false,
"Periodo_expiracion": ""
},
{
"UID": "61f18d8e509a8",
"Nombre": "uno a uno con vigencia",
"Folios": 1,
"Precio": "1.00",
"Servicios": {
"Api": true,
"Smtp_mail": false,
"Custom_email": false,
"Extra_rfc": 0,
"Extra_user": 0,
"Cfdi_migrator": false,
"Autofacturacion": true,
"Pdf_templates": {
"default": true,
"classic": false,
"formal": false,
"minimalist": false,
"trendy": false,
"elegant": false
}
},
"Vendidos": 1,
"Expiracion": true,
"Periodo_expiracion": "Trimestral"
}
]
}
Listar tus clientes como Partner
A continuaci贸n se explica la funci贸n para partners con la cual podr谩s listar los clientes con los que cuentas registrados en tu panel de partner
Tip
Es importante contar con clientes previamente registrados en nuestro panel de partner para que la respuesta no regrese vac铆a.
Se muestra en la siguiente secci贸n la creaci贸n de la URL para listar todos los clientes que tienes en tu panel donde podremos consultar los detalles de su cuenta como folios disponibles o la fecha de expiraci贸n adem谩s de otros datos, m谩s delante se explica como consultar un cliente en espec铆fico.
Importante
El m茅todo que se utiliza para listar todos los clientes de nuestro panel es de tipo GET
Construcci贸n de la URL
Host: https://api.factura.com (producci贸n) / https://sandbox.factura.com/api (sandbox)
Endpoint: /v4/partners/clients
Ejemplo: https://api.factura.com/v4/partners/clients
Tip
Para probar el ejemplo de c贸digo, necesitas cambiar "Tu API key" por la clave de API de tu cuenta, y "Tu Secret key" por la clave secreta correspondiente.
Ejemplo para listar tus clientes como Partner
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => '{ HOST }/v4/partners/clients',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'F-PLUGIN: 9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key: Tu API key',
'F-Secret-Key: Tu Secret key'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
var request = require('request');
var options = {
'method': 'GET',
'url': '{ HOST }/v4/partners/clients',
'headers': {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import requests
import json
url = "{ HOST }/v4/partners/clients"
payload = ""
headers = {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("{ HOST }/v4/partners/clients")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Content-Type"] = "application/json"
request["F-PLUGIN"] = "9d4095c8f7ed5785cb14c0e3b033eeb8252416ed"
request["F-Api-Key"] = "Tu API key"
request["F-Secret-Key"] = "Tu Secret key"
response = http.request(request)
puts response.read_body
Respuesta
Importante
En la respuesta podemos notar el campo "FechaExpiracion" el cual nos detalla la fecha en la que se vence el plan de nuestro cliente y en el ejemplo podemos notar una fecha como la siguiente "0000-00-00", esto quiere decir que el plan no tiene vigencia.
Respuesta exitosa
{
"response": "success",
"data": [
{
"UID": "62e4269697909",
"ApiKey": "Tu API Key",
"SecretKey": "Tu Secret Key",
"RazonSocial": "ZAPATERIA URTADO 脩ERI",
"RFC": "ZU脩920208KL4",
"Correo": "[email protected]",
"Creado": "2022-07-29",
"PaqueteAdquirido": "Personalizado",
"Servicios": {
"Api": true,
"Smtp_mail": true,
"Custom_email": true,
"Extra_rfc": 0,
"Extra_user": 0,
"Cfdi_migrator": false,
"Autofacturacion": false,
"Pdf_templates": {
"default": true,
"classic": true,
"formal": false,
"minimalist": false,
"trendy": false,
"elegant": false
}
},
"FechaExpiracion": "2022-10-29",
"FoliosTotales": 1,
"FoliosUsados": 0,
"FoliosRestantes": 1,
"Estado": "A",
"Nombre": "Fernando",
"Apellido": "Alonso",
"Telefono": "3344556677",
"Celular": "4455667788",
"Domicilio": {
"Pais": "M茅xico",
"Estado": "Jalisco",
"Ciudad": "Guadalajara",
"Localidad": "Guadalajara",
"Colonia": "Circunvalaci贸n Guevara",
"Calle": "Lopez Mateos",
"CodigoPostal": "44444",
"NumeroExterior": "1111",
"NumeroInterior": "1"
}
},
{
"UID": "62d895d632e20",
"ApiKey": "Tu API Key",
"SecretKey": "Tu Secret Key",
"RazonSocial": "XOCHILT CASAS CHAVEZ",
"RFC": "CACX7605101P8",
"Correo": "[email protected]",
"Creado": "2022-07-20",
"PaqueteAdquirido": "facturacion para todos",
"Servicios": {
"Api": false,
"Smtp_mail": false,
"Custom_email": false,
"Extra_rfc": 0,
"Extra_user": 0,
"Cfdi_migrator": false,
"Autofacturacion": false,
"Pdf_templates": {
"default": true,
"classic": true,
"formal": false,
"minimalist": false,
"trendy": false,
"elegant": false
}
},
"FechaExpiracion": "2022-07-25",
"FoliosTotales": 100,
"FoliosUsados": 50,
"FoliosRestantes": 50,
"Estado": "A",
"Nombre": "Adrian",
"Apellido": "Lopez",
"Telefono": "3322332233",
"Celular": "3344334433",
"Domicilio": {
"Pais": "MEX",
"Estado": "Jalisco",
"Ciudad": "Guadalajara",
"Localidad": "Guadalajara",
"Colonia": "Ladron de Guevara",
"Calle": "Av. Lopez Mateos",
"CodigoPostal": "10740",
"NumeroExterior": "835",
"NumeroInterior": "B44"
}
},
]
}
Listar uno de tus clientes como Partner
A continuaci贸n se explica la funcion para partners con la cual podras recuperar los detalles de un cliente registrado en tu panel
Tip
Es importante contar con clientes previamente registrados en nuestro panel de partner para que la respuesta no regrese vacia.
Para listar un cliente tendremos que hacer uso del siguiente parametro.
| Par谩metro | Tipo | Requerido | Detalles |
|---|---|---|---|
| UID | String | Requerido | Es el indentificador unico asignado a los clientes con el cual podremos identificarlos y buscarlos |
Importante
El m茅todo que se utiliza para listar un los cliente de nuestro panel es de tipo GET
Construcci贸n de la URL
Host: https://api.factura.com (producci贸n) / https://sandbox.factura.com/api (sandbox)
Endpoint: /v4/partners/clients/uid
Ejemplo: https://api.factura.com/v4/partners/clients/uid
Tip
Para probar el ejemplo de c贸digo, necesitas cambiar "Tu API key" por la clave de API de tu cuenta, y "Tu Secret key" por la clave secreta correspondiente.
Ejemplo para listar un unico cliente como Partner
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => '{ HOST }/v4/partners/clients/uid',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'F-PLUGIN: 9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key: Tu API key',
'F-Secret-Key: Tu Secret key'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
var request = require('request');
var options = {
'method': 'GET',
'url': '{ HOST }/v4/partners/clients/uid',
'headers': {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import requests
import json
url = "{ HOST }/v4/partners/clients/uid"
payload = ""
headers = {
'Content-Type': 'application/json',
'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
'F-Api-Key': 'Tu API key',
'F-Secret-Key': 'Tu Secret key'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("{ HOST }/v4/partners/clients/uid")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Content-Type"] = "application/json"
request["F-PLUGIN"] = "9d4095c8f7ed5785cb14c0e3b033eeb8252416ed"
request["F-Api-Key"] = "Tu API key"
request["F-Secret-Key"] = "Tu Secret key"
response = http.request(request)
puts response.read_body
Respuesta
Importante
En la respuesta podemos notar el campo "FechaExpiracion" el cual nos detalla la fecha en la que se vence el plan de nuestro cliente y en el ejemplo podemos notar una fecha como la siguiente "0000-00-00", esto quiere decir que el plan no tiene vigencia.
Respuesta exitosa
{
"response": "success",
"data": {
"UID": "61af9fdc030e2",
"ApiKey": "Tu API Key",
"SecretKey": "Tu Secret Key",
"RazonSocial": "ALBA XKARAJAM MENDEZ",
"RFC": "XAMA620210DQ5",
"Correo": "[email protected]",
"Creado": "2021-12-07",
"PaqueteAdquirido": "Personalizado",
"Servicios": {
"Api": true,
"Smtp_mail": true,
"Custom_email": true,
"Extra_rfc": 2,
"Extra_user": 2,
"Cfdi_migrator": false,
"Autofacturacion": false,
"Pdf_templates": {
"default": true,
"classic": true,
"formal": false,
"minimalist": false,
"trendy": false,
"elegant": false
}
},
"FechaExpiracion": "0000-00-00",
"FoliosTotales": 150,
"FoliosUsados": 5,
"FoliosRestantes": 145,
"Estado": "A",
"Nombre": "ALBA",
"Apellido": "XKARAJAM MENDEZ",
"Telefono": "1111111111",
"Celular": "",
"Domicilio": {
"Pais": "MEX",
"Estado": "Jalisco",
"Ciudad": null,
"Localidad": "Guadalajara",
"Colonia": "Circunvalaci贸n Guevara",
"Calle": "Av. Marinaa",
"CodigoPostal": "83410",
"NumeroExterior": "2209",
"NumeroInterior": "Local 1B"
}
}
}