Postman
Postman
  • Documentaci贸n

    • Informaci贸n general
    • Entornos
    • Primeros pasos
    • Listar CFDI's
    • Buscar CFDI
    • Crear CFDI 4.0
    • Crear CFDI Global 4.0
    • Borradores CFDI 4.0
    • Descargar CFDI
    • Cancelar CFDI 4.0
    • Descargar acuse CFDI 4.0
    • Enviar CFDI
    • Consultar estatus de cancelaci贸n de un CFDI
    • Autofacturaci贸n Pro
    • Factura360
    • Referencias de pago
    • Autofacturaci贸n
    • Grupos de empleados
    • Empleados
    • N贸minas
    • Complementos
    • Retenciones
    • Complementos de retenciones
    • Carta porte v3.1
    • Cat谩logos
    • Clientes
    • Empresas
    • Migraciones
    • Partners
    • Series
    • Productos
    • Addendas
    • Fundamentos legales del SAT

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谩metroTipoRequeridoDetalles
聽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.

Aqui se listan las 3 vigencias聽existentes las cuales son:

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": {
"default": true,
"classic": true,
"formal": false,
"minimalist": false,
"trendy": false,
"elegant": false
}
聽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聽OpcionalLos 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谩metroTipoRequeridoDetalles
UIDStringRequeridoEs 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"
        }
    }
}