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
    • Grupos de empleados
    • Empleados
    • Nóminas
    • Complementos
    • Retenciones
    • Complementos de retenciones
    • Carta porte v3.1
    • Catálogos
    • Clientes
    • Empresas
    • Migraciones
    • Series
    • Productos
    • Addendas
    • Fundamentos legales del SAT

Empresas

Introducción

Descubre la versatilidad de nuestro sistema: puedes establecer múltiples empresas con sus propios RFC y datos fiscales. Cada empresa tiene su propio espacio, con historial completo de transacciones, clientes y productos. ¿Deseas saber cuántas empresas puedes crear según tu plan? Encuentra esa información en nuestra plataforma.

Listar Empresas

A continuación se explica el servicio con el cual podemos listar todas las empresas que forman parte de nuestra cuenta con un ejemplo y muestra de posibles respuestas obtenidas.

Importante

El método que se utiliza para listar todas las empresas es de tipo GET

Construcción de la URL

Host: https://facturaonline.com.mx/api (producción) / https://sandbox.facturaonline.com.mx/api (sandbox)

Endpoint: /v1/accounts

Ejemplo: https://facturaonline.com.mx/api/v1/accounts

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 todas las empresas

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/v1/accounts',
  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 }/v1/accounts',
  '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 }/v1/accounts"

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 }/v1/accounts")

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

Respuestas al listar todas las empresas

Respuesta exitosa

{
    "response": "success",
    "data": [
        {
            "uid": "607a062eae2bb",
            "razon_social": "ESCUELA KEMPER URGATE",
            "rfc": "EKU9003173C9",
            "regimen_fiscal": "General de Ley Personas Morales",
            "curp": "PEPJ901010HJCRRN03",
            "calle": "Avenida connecticut",
            "exterior": "1989",
            "interior": "32",
            "colonia": "Bosques de Tepatitlan",
            "codpos": "42501",
            "ciudad": "Paracho",
            "estado": "Michoacan",
            "email": "[email protected]",
            "logo_path": "file_name.png",
            "api_key": "Tu API key",
            "secret_key": "Tu Secret key",
            "cer": "file_name.cer",
            "key": "file_name.key",
            "fielcer": "file_name.cer",
            "fielkey": "file_name.key"
        },
        {
            "uid": "627981693503b",
            "razon_social": "XOCHILT CASAS CHAVEZ",
            "rfc": "CACX7605101P8",
            "regimen_fiscal": "Personas Físicas con Actividades Empresariales y Profesionales",
            "curp": "",
            "calle": "",
            "exterior": "",
            "interior": "",
            "colonia": "",
            "codpos": "10740",
            "ciudad": "",
            "estado": "",
            "email": "[email protected]",
            "logo_path": "file_name.png",
            "api_key": "Tu API key",
            "secret_key": "Tu Secret key",
            "cer": "file_name.cer",
            "key": "file_name.key",
            "fielcer": "file_name.cer",
            "fielkey": "file_name.key"
        },
        .
        .
        .
        .
        .
    ]
}

Respuesta erronea

{
    "status": "error",
    "message": "La cuenta que intenta autenticarse no existe",
    "Data": "",
    "Secret": "$2y$10$.Rl4Wb.K0SYCGXaLJ1yC/./lr7ORWTEEg/9P2KRqLlnE.qkrcNLk."
}

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.

Consultar empresa actual

A continuación se explica el método para consultar la informacion de la empresa actual es decir con la que nos encontramos trabajando.

Importante

El método que se utiliza para consultar la empresa actual es de tipo GET

Construcción de la URL

Host: https://facturaonline.com.mx/api (producción) / https://sandbox.facturaonline.com.mx/api (sandbox)

Endpoint: /v1/current/account

Ejemplo: https://facturaonline.com.mx/api/v1/current/account

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 de consulta de empresa actual

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/v1/current/account',
  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 }/v1/current/account',
  'headers': {
    'Content-Type': 'application/json',
    'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
    'F-Api-Key': 'Tu API key',
    'F-Secret-Key': 'Tu Secret key'
  },
  formData: {

  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

import requests
import json

url = "{ HOST }/v1/current/account"

payload={}
files={}
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, files=files)

print(response.text)

require "uri"
require "json"
require "net/http"

url = URI("{ HOST }/v1/current/account")

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"
form_data = []
request.set_form form_data, 'multipart/form-data'
response = http.request(request)
puts response.read_body

Respuestas al consultar la empresa actual

Respuesta exitosa

{
    "status": "success",
    "data": {
        "uid": "607a062eae2bb",
        "razon_social": "ESCUELA KEMPER URGATE",
        "rfc": "EKU9003173C9",
        "regimen_fiscal": "General de Ley Personas Morales",
        "curp": "PEPJ901010HJCRRN03",
        "calle": "Avenida connecticut",
        "exterior": "1989",
        "interior": "32",
        "colonia": "Bosques de Tepatitlan",
        "codpos": "42501",
        "ciudad": "Paracho",
        "estado": "Michoacan",
        "email": "[email protected]",
        "logo_path": "file_name.png",
        "api_key": "Tu API key",
        "secret_key": "Tu Secret key",
        "cer": "file_name.cer",
        "key": "file_name.key",
        "fielcer": "file_name.cer",
        "fielkey": "file_name.key"
    }
}

Respuesta erronea

{
  "status": "error",
  "message": "La cuenta que intenta autenticarse no existe",
  "Data": "$2y$10$dnOV7qC7ZrD1CZitpUnTReLKtKPxG29XfwZylrEuiR0KVl18pOXXX",
  "Secret": "$2y$10$6ZN4aX5UExwz6HFlDSZcxOF1TGjHx8f40neE.CrXHHahyAfi8XXX."
}

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.

Buscar una empresa en especifico

A continuación se explica el método que nos ayuda a obtener los detalles de una empresa en especifico que tengamos registrada en nuestra cuenta.

Para buscar una empresa se necesitan los siguientes parametros.

ParámetroTipoRequeridoDetalles
uidStringRequerido Es el identificador unico para la empresa en la plataforma.

Ejemplo:
5670a524cfc65

Importante

El método que se utiliza para buscar una empresa es de tipo GET

Construcción de la URL

Host: https://facturaonline.com.mx/api (producción) / https://sandbox.facturaonline.com.mx/api (sandbox)

Endpoint: /v1/account/{uid}

Ejemplo: https://facturaonline.com.mx/api/v1/account/607a062eae2bb

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 de la consulta de la empresa actual

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/v1/account/61e20b1903bad',
  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 }/v1/account/61e20b1903bad',
  'headers': {
    'Content-Type': 'application/json',
    'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
    'F-Api-Key': 'Tu API key',
    'F-Secret-Key': 'Tu Secret key'
  },
  formData: {

  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

import requests
import json

url = "{ HOST }/v1/account/61e20b1903bad"

payload={}
files={}
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, files=files)

print(response.text)

require "uri"
require "json"
require "net/http"

url = URI("{ HOST }/v1/account/61e20b1903bad")

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"
form_data = []
request.set_form form_data, 'multipart/form-data'
response = http.request(request)
puts response.read_body

Respuestas al buscar una empresa en especifico

Respuesta exitosa

{
    "status": "success",
    "data": {
        "uid": "607a062eae2bb",
        "razon_social": "ESCUELA KEMPER URGATE",
        "rfc": "EKU9003173C9",
        "regimen_fiscal": "General de Ley Personas Morales",
        "curp": "PEPJ901010HJCRRN03",
        "calle": "Avenida connecticut",
        "exterior": "1989",
        "interior": "32",
        "colonia": "Bosques de Tepatitlan",
        "codpos": "42501",
        "ciudad": "Paracho",
        "estado": "Michoacan",
        "email": "[email protected]",
        "logo_path": "file_name.png",
        "api_key": "Tu API key",
        "secret_key": "Tu Secret key",
        "cer": "file_name.cer",
        "key": "file_name.key",
        "fielcer": "file_name.cer",
        "fielkey": "file_name.key"
    }
}

Respuesta erronea

{
  "status": "error",
  "message": "La cuenta que intenta autenticarse no existe",
  "Data": "$2y$10$dnOV7qC7ZrD1CZitpUnTReLKtKPxG29XfwZylrEuiR0KVl18pOXXX",
  "Secret": "$2y$10$6ZN4aX5UExwz6HFlDSZcxOF1TGjHx8f40neE.CrXHHahyAfi8XXX."
}

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.

Crear nueva empresa

A continuación se explica como funciona el servicio con el cual podras crear una nueva empresa en nuestra cuenta.

Tip

Recuerda que necesitaras contar con tu Certificado de Sello Digital (CSD) que obtuviste con el SAT y deberas proporcionar tus archivos .cer y .key y que la Razón Social, Codigo Postal y RFC deben coincidir con los datos que se dieron de alta ante el SAT para poder crear tu empresa y comenzar a utilizarla.

Importante

Si no sabes como conseguir tu Certificado de Sello Digital(CSD) puedes consultarlo en la siguiente guia:

¿Como generar el Certificado del Sello Digital(CSD)?

Para la creación de una nueva empresa son necesarios los siguientes parametros.

ParámetroTipoRequeridoDetalles
razonsStringRequeridoLa razón social de tu empresa
rfcStringRequeridoEl RFC de tu empresa
codposStringRequeridoEl codigo postal en el que esta registrada tu empresa
calleStringOpcionalCalle del domicilio fiscal de tu empresa
numero_exteriorStringOpcionalNumero exterior del domicilio fiscal de tu empresa
numero_interiorStringOpcionalNumero interior del domicilio fiscal de tu empresa
coloniaStringOpcionalIndica la colonia del domicilio fiscal de tu empresa
estadoStringOpcionalIndica el estado del domicilio fiscal de tu empresa
ciudadStringOpcionalIndica la ciudad del domicilio fiscal de tu empresa
delegacionStringOpcionalIndica la delegacion del domicilio fiscal de tu empresa
emailStringRequeridoLa direccion principal de correo electronico para tu empresa
regimenStringOpcionalIndica el regimen fiscal al cual pertenece tu empresa para generar CFDIs
mailtomycontaStringOpcionalIndica si se quiere enviar una copia de los correos electronicos de los CFDIs generados a tu contador
mail_contaStringOpcionalEl correo electronico del contador
mailtomyselfStringOpcionalIndica si se quiere enviar una copia de los correos electronicos de los CFDIs generados a tu direccion principal
regimen_nominaStringRequeridoIndica el regimen al cual pertenece tu empresa para generar nominas
cant_folios_minStringOpcionalIndica el limite minimo de folios disponible para tu empresa, genera una alerta cuando estas por agotar tus folios cuando se alcanza el numero minimo
smtpStringOpcionalSi utilizas un servidor de SMTP para enviar tus comprobantes aqui se indica el nombre
smtp_emailStringOpcionalEl correo que corresponde a tu servicio de SMTP para el envio de comprobantes
smtp_passwordStringOpcionalContraseña de tu SMTP
smtp_portStringOpcionalIndica el puerto que utiliza tu SMTP
smtp_hostStringOpcionalIndica el host de tu SMTP
smtp_encryptionStringOpcionalIndica el tip de encriptacion que utiliza tu SMTP
telefonoStringOpcionalEl numero telefonico de tu empresa
curpStringOpcionalEl CURP bajo la cual esta registrada tu empresa
logoArchivo tipo jpg, jpeg o pngOpcionalIndica el logo que se utilizara para tu empresa
passwordStringRequeridoLa contraseña que utilizaste cuando creaste tus archivos CSD (.cer y .key)
cerArchivo .cerRequeridoEl archivo .cer correspondiente a tu empresa
keyArchivo .keyRequeridoEl archivo .key correspondiente a tu empresa
fielcerArchivo .cerOpcionalEl archivo .cer correspondiente a tu e.firma o FIEL
fielkeyArchivo .keyOpcionalEl archivo .key correspondiente a tu e.firma o FIEL
fielpasswordStringOpcional / Requerido si se envia "fielcer" y "fielkey"La contraseña que utilizaste para la creación de tu e.firma o FIEL

Importante

El método que se utiliza para la creacion de la empresa es de tipo POST

Construcción de la URL

Host: https://facturaonline.com.mx/api (producción) / https://sandbox.facturaonline.com.mx/api (sandbox)

Endpoint: /v4/account/create

Ejemplo: https://facturaonline.com.mx/api/v4/account/create

Ejemplo para crear nueva empresa

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/v4/account/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 => array('razons' => 'Razon de prueba',
      'rfc' => 'FUNK123456PH7',
      'codpos' => '44444',
      'calle' => 'Ramon corona',
      'numero_exterior' => '123',
      'numero_interior' => '4',
      'colonia' => 'Centro',
      'estado' => 'Jalisco',
      'ciudad' => 'Arandas',
      'delegacion' => 'Santiaguito',
      'email' => '[email protected]',
      'regimen' => '612',
      'mailtomyconta' => '1',
      'mail_conta' => '[email protected]',
      'mailtomyself' => '1',
      'regimen_nomina' => '612',
      'cant_folios_min' => '66',
      'smtp' => '1',
      'smtp_email' => '[email protected]',
      'smtp_password' => 'password',
      'smtp_port' => '4433',
      'smtp_host' => 'gmail.com',
      'smtp_encryption' => 'tls',
      'telefono' => '3344556677',
      'curp' => 'FUNK123456PH7PD89',
      'logo' => new CURLFILE('/path/to/cer/file'),
      'cer' => new CURLFILE('/path/to/cer/file'),
      'key' => new CURLFILE('/path/to/key/file'),
      'password' => '12345678a',
      'fielcer' => new CURLFILE('/path/to/fielcer/file'),
      'fielkey' => new CURLFILE('/path/to/fielkey/file'),
      'fielpasswordd' => '12345678a'
    ),
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'F-PLUGIN: 9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
    'F-Api-Key: JDJ5JDEwJEtZQ1ljMktldmM0Zy9KeUlHQklmdS56WDBpWnpVOWxIZHM2eXN4WG95blZrTFRqWlhISDJh',
    'F-Secret-Key: JDJ5JDEwJC5SbDRXYi5LMFNZQ0dYYUxKMXlDLy4vbHI3T1JXVEVFZy85UDJLUnFMbG5FLnFrcmNOTGsu'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

var request = require('request');
var fs = require('fs');
var options = {
  'method': 'POST',
  'url': '{ HOST }/v4/account/create',
  'headers': {
    'Content-Type': 'application/json',
    'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
    'F-Api-Key': 'JDJ5JDEwJEtZQ1ljMktldmM0Zy9KeUlHQklmdS56WDBpWnpVOWxIZHM2eXN4WG95blZrTFRqWlhISDJh',
    'F-Secret-Key': 'JDJ5JDEwJC5SbDRXYi5LMFNZQ0dYYUxKMXlDLy4vbHI3T1JXVEVFZy85UDJLUnFMbG5FLnFrcmNOTGsu'
  },
  formData: {'razons': 'Razon de prueba',
    'rfc': 'FUNK123456PH7',
    'codpos': '44444',
    'calle': 'Ramon corona',
    'numero_exterior': '123',
    'numero_interior': '4',
    'colonia': 'Centro',
    'estado': 'Jalisco',
    'ciudad': 'Arandas',
    'delegacion': 'Santiaguito',
    'email': '[email protected]',
    'regimen': '612',
    'mailtomyconta': '1',
    'mail_conta': '[email protected]',
    'mailtomyself': '1',
    'regimen_nomina': '612',
    'cant_folios_min': '66',
    'smtp': '1',
    'smtp_email': '[email protected]',
    'smtp_password': 'password',
    'smtp_port': '4433',
    'smtp_host': 'gmail.com',
    'smtp_encryption': 'tls',
    'telefono': '3344556677',
    'curp': 'FUNK123456PH7PD89',
    'logo': {
      'value': fs.createReadStream('/path/to/file'),
      'options': {
        'filename': 'filename'
        'contentType': null
      }
    },
    'cer': {
      'value': fs.createReadStream('/path/to/file'),
      'options': {
        'filename': 'filename'
        'contentType': null
      }
    },
    'key': {
      'value': fs.createReadStream('/path/to/file'),
      'options': {
        'filename': 'filename'
        'contentType': null
      }
    },
    'password': '12345678a',
    'fielcer': {
      'value': fs.createReadStream('/path/to/file'),
      'options': {
        'filename': 'filename'
        'contentType': null
      }
    },
    'fielkey': {
      'value': fs.createReadStream('/path/to/file'),
      'options': {
        'filename': 'filename'
        'contentType': null
      }
    },
    'fielpasswordd': '12345678a'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

import requests
import json

url = "{ HOST }/v4/account/create"

payload = {'razons': 'Razon de prueba',
'rfc': 'FUNK123456PH7',
'codpos': '44444',
'calle': 'Ramon corona',
'numero_exterior': '123',
'numero_interior': '4',
'colonia': 'Centro',
'estado': 'Jalisco',
'ciudad': 'Arandas',
'delegacion': 'Santiaguito',
'email': '[email protected]',
'regimen': '612',
'mailtomyconta': '1',
'mail_conta': '[email protected]',
'mailtomyself': '1',
'regimen_nomina': '612',
'cant_folios_min': '66',
'smtp': '1',
'smtp_email': '[email protected]',
'smtp_password': 'password',
'smtp_port': '4433',
'smtp_host': 'gmail.com',
'smtp_encryption': 'tls',
'telefono': '3344556677',
'curp': 'FUNK123456PH7PD89',
'password': '12345678a',
'fielpasswordd': '12345678a'}
files=[
  ('logo',('file',open('/path/to/file','rb'),'application/octet-stream'))
  ('cer',('file',open('/path/to/file','rb'),'application/octet-stream')),
  ('key',('file',open('/path/to/file','rb'),'application/octet-stream')),
  ('fielcer',('file',open('/path/to/file','rb'),'application/octet-stream')),
  ('fielkey',('file',open('/path/to/file','rb'),'application/octet-stream'))
]
headers = {
  'Content-Type': 'application/json',
  'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
  'F-Api-Key': 'JDJ5JDEwJEtZQ1ljMktldmM0Zy9KeUlHQklmdS56WDBpWnpVOWxIZHM2eXN4WG95blZrTFRqWlhISDJh',
  'F-Secret-Key': 'JDJ5JDEwJC5SbDRXYi5LMFNZQ0dYYUxKMXlDLy4vbHI3T1JXVEVFZy85UDJLUnFMbG5FLnFrcmNOTGsu'
}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)

require "uri"
require "json"
require "net/http"

url = URI("{ HOST }/v4/account/create")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["F-PLUGIN"] = "9d4095c8f7ed5785cb14c0e3b033eeb8252416ed"
request["F-Api-Key"] = "JDJ5JDEwJEtZQ1ljMktldmM0Zy9KeUlHQklmdS56WDBpWnpVOWxIZHM2eXN4WG95blZrTFRqWlhISDJh"
request["F-Secret-Key"] = "JDJ5JDEwJC5SbDRXYi5LMFNZQ0dYYUxKMXlDLy4vbHI3T1JXVEVFZy85UDJLUnFMbG5FLnFrcmNOTGsu"
form_data = [['razons', 'Razon de prueba'],
    ['rfc', 'FUNK123456PH7'],
    ['codpos', '44444'],
    ['calle', 'Ramon corona'],
    ['numero_exterior', '123'],
    ['numero_interior', '4'],
    ['colonia', 'Centro'],
    ['estado', 'Jalisco'],
    ['ciudad', 'Arandas'],
    ['delegacion', 'Santiaguito'],
    ['email', '[email protected]'],
    ['regimen', '612'],
    ['mailtomyconta', '1'],
    ['mail_conta', '[email protected]'],
    ['mailtomyself', '1'],
    ['regimen_nomina', '612'],
    ['cant_folios_min', '66'],
    ['smtp', '1'],
    ['smtp_email', '[email protected]'],
    ['smtp_password', 'password'],
    ['smtp_port', '4433'],
    ['smtp_host', 'gmail.com'],
    ['smtp_encryption', 'tls'],
    ['telefono', '3344556677'],
    ['curp', 'FUNK123456PH7PD89'],
    ['logo', File.open('undefined')],
    ['cer', File.open('undefined')],
    ['key', File.open('undefined')],
    ['password', '12345678a'],
    ['fielcer', File.open('undefined')],
    ['fielkey', File.open('undefined')],
    ['fielpasswordd', '12345678a']
    ]
request.set_form form_data, 'multipart/form-data'
response = http.request(request)
puts response.read_body

Respuestas al crear una empresa

Respuesta exitosa

{
    "status": "create",
    "0": {
        "acco_uid": "64efdcdce7927",
        "acco_create": "2023-08-30",
        "acco_user_id": 1364,
        "acco_api_key": "Tu API key",
        "acco_secret_key": "Tu Secret key",
        "acco_regimen": "Personas Físicas con Actividades Empresariales y Profesionales",
        "acco_regimen_33": "612",
        "acco_razon_social": "RAZON DE PRUEBA",
        "acco_rfc": "FUNK123456PH7",
        "acco_calle": "Ramon corona",
        "acco_numero": "123",
        "acco_interior": "4",
        "acco_colonia": "Centro",
        "acco_codpos": "44444",
        "acco_estado": "Jalisco",
        "acco_delegacion": "Arandas",
        "acco_ciudad": "Arandas",
        "acco_telefono": "3344556677",
        "acco_email": "[email protected]",
        "acco_smtp": "1",
        "acco_curp": "FUNK123456PH7PD89",
        "acco_regimen_nomina": "612",
        "acco_mailtomyconta": "1",
        "acco_email_conta": "[email protected]",
        "acco_mailtomyself": "1",
        "acco_folios_alert": "66",
        "acco_id": 1521,
        "acco_fiel_key": "file_name.key",
        "acco_fiel_cer": "file_name.cer",
        "acco_cer_path": "fiel_name.cer",
        "acco_key_path": "fiel_name.key"
    }
}

Solución de problemas al cargar archivos CSD o FIEL

Cuando existe un problema para subir los archivos CSD o de la FIEL por medio de API por cuestiones de permisos o problemas por el tamaño de los archivos estos pueden subirse a traves de una cadena en "base 64" en lugar de tratar de enviar el archivo, se muestra a continuacion un ejemplo de como se deberian enviar los campos en caso de hacerlo de esta forma, recuerda que la peticion es igual y solo reemplazaremos el archivo de los CSD o FIEL por un campo de texto.

Importante

Para codificar los archivos CSD o FIEL en base 64 varia dependiendo el lenguaje que utilices para obtener tu propia cadena debes buscar la forma correcta de realizarlo para tu caso en especifico.

Como un ejemplo se necesitan los siguientes pasos:

  • Obetener el contenido de el CSD o FIEL (.cer y .key)
  • Codificar el contenido en base 64 (encode64 o base64 son algunos de los terminos mas comunes)
  • Obtener la cadena resultante y enviarlo

Para enviar los archivos en base 64 a traves para crear o actualizar una empresa se necesitan los siguientes parametros.

 Parámetro Tipo Requerido Detalles
 csd_cer_b64 String RequeridoArchivo CSD .cer codificado en base64, se debe enviar la cadena resultante al codificar el contenido del .cer
 csd_key_b64  String  Requerido  Archivo CSD .key codificado en base64, se debe enviar la cadena resultante al codificar el contenido del .key
password  String  Requerido si se envia cer y key  Se requiere incluir en la petición al enviar las cadenas cer y key
 fiel_cer_b64 String RequeridoArchivo FIEL .cer codificado en base64, se debe enviar la cadena resultante al codificar el contenido del .cer
 fiel_key_b64  String  Requerido  Archivo FIEL .key codificado en base64, se debe enviar la cadena resultante al codificar el contenido del .key
fielpassword  String  Requerido si se envia fielcer y fielkey  Se requiere incluir en la petición al enviar las cadenas fielcer y fielkey
{
    "cer": "MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIAgEAAoIBAQACAggAMBQGCCqGSIb3DQMHBAgwggS8AgEAMASCBMh4EHl7aNSCaMDA1VlRoXCZ5UUmqErAbucRFLOMmsAaFJThFS4JUw+FB6qBT2Lo+JjDBghZX3Hfv6MlDSxgiwul8zjb1YQM22U5PJT5IRqv3zjLRwh1criHOC9ndzIM6UauJoFaS/35WUIKi0QPw/QhXHbqMnszvAxtWRgpDsvRzd9wmWRMh/0Ud6HiUlHw79oxoCXXj6GAJAiQmXEGp9cV1B7hihtm241u8Gly9oq1oAAl3gnoth8KrWAsMrHMvAvBtkynYZPx9SV/8x8snnThqYj7TkHFrfmsZsqpW8GBhagLo93bpBLKpGwF2ycxIsStDQfh2xFg2v7SyCkvK9WyIbEVn29RAux88MPQ1YEhMjmWmx/umutQC6aK/8UpEgMcQtXeJXj2Uhep8xIxt0iX46FWnSY04biPzRBuDzU7mxsoPR84vc8pJD0xv3YMNm3W0QsiB53vwkv9AIo54q+NHD5hu0OfcYmrrOaSdWqTrLrzDsa+k7Akc9VwgfInMfRo+fBvWa3t35lM9+Rew+cC9caT6oNY6vQrw/cwE4XzCuC02GpZ89RhZuh7UWmb+DCaAbKdz+1uXwM8x9bEjujErf+xxc4kL/sW/yuFllk7ymE3KQk3cyKKJYIXJ3AsTT03k1yJYNlmUEUyv2h+i+0tkxtD33N59Wo8VC0LTH2p4hXaJ6M01VMlkANM+T9wsXpzh6xmjNdW7uLLZBuUZEOu96auzN7cS5iEQfcni04IBoKr4TKf00Z3w4WAfkpNBCuo5Bikefsc+gGzPvu5T01DpTXhxNm8HuTynMcRaIZkMnJ8JLghDL8bf6iwKb9YNIMSpxkfDoSRRhDknXHcUR1chXdskujTZWCsk/3ndTWuitP0ggedlf8TnExqvqUeDp/bhLGKxSG4n2k07hMx8A0gFOaBftJjS37OuORHvmD9LJV20ThK5TuOppdPJLkod00bcIaIb40KOHzDmf8ACkH4BAeu6v3u3zqzSfqxb4Ec9OHmonbacYcggW1kSeLEhYpVOdK+JVD0haizlpkRxeyOVhyI98bPkiC8ayP0T/ikd30Qb1DAw39nk07omjcvb+PXSZoOOCJTyDog51MdxBo/Huy7osrE+0YJ2RPp0sqzQdPxbyau3+LRX1tOy0DMriqdkFk6UQqnU+7vWsw2q0YQJkz/zVhsXOlDQKL4Ml5944E6OjZZzHee8RafTQM8mEGGN6iQhh+gQfDvGvJx+WgH1JfHbCsf/fQqanQHjutSq9crxaXYH0YoTZADy6RT70c1sXrgWxhmgpjgdhZ13xbono5P9c2ANyfkKLQxY7Lr9v5AVi5dZD9OeyvodMDT0/OIMV9KVCuCQ9tMWoHJJEzoxmhxLOjLNBsOkSTTrPr1Ogl8EgcTwGHn7PlM2seEx0PCVbSFaay70SbWUv0bkBOQMgLg94uJDubXcOB00Aw8FaHXnw0DetGiRrYzcqtBQju/0akE5YPrgAaOaMK4A6Ko36uZifDiIE+cKcscu8y5rpZvAtlXLY3hNbU8Vp3LmRrxgDE5nJqdbcN8mGgMI/flOppw7KRHlAFy0z0NlJTBjwq2brRRPH8igb+r5IAVFZzqEiqKFjO/uU/c3loPNQTK57r7Busp930=",
    "key": "MIIFgDCCA2igAwIBAgIUMzAwMDEwMDAwMDA1MDAwMDMzMTcwDQYJKoZIhvcNAQELBQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFETUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0wGwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWxpejEOMAwGA1UEEQwFMDYzNzAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhDT1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3BvbnNhYmxlOiBBQ0RNQS1TQVQwHhcNMjMwNTA5MjEzNzM3WhcNMjcwNTA5MjEzNzM3WjCBpzEdMBsGA1UEAxMUWE9DSElMVCBDQVNBUyBDSEFWRVoxHTAbBgNVBCkTFFhPQ0hJTFQgQ0FTQVMgQ0hBVkVaMR0wGwYDVQQKExRYT0NISUxUIENBU0FTIENIQVZFWjEWMBQGA1UELRMNQ0FDWDc2MDUxMDFQODEbMBkGA1UEBRMSQ0FDWDc2MDUxME1HVFNIQzA0MRMwEQYDVQQLEwpTdWN1cnNhbCAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApG2xe/cC25l8y4uF/cq/R4CipKrbDJ+mVHkQ0X0vd/7/bjCvphYuF41HIr91T3Ux51jkuIBZdZ1A9o2W7nwt+MNY165p6+/dunXPDMaM8gIOShITK1Hno+6VYr9sbuciYkrxTbY1kU9M8f8TJ1Z8zYPTxHvuRma7fcWyg1uNXgQyuOFRDwzIk3pDK1YtDkDZzxpkDokYFu4oKhHb1TKUtT2uhGc3fmYG5zP6/bUDDgf4ugGNQccsd5QWm4SzplEsiyK2ggfLQ8q6ZC4SPQZolM10iUyOst4iZ9a5V7/7xOJW9qir40hCguZqhyvamsO6UXok9mOYAOo4rErV4D7FJQIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQsFAAOCAgEAnrMfNcLjPZOw85YRNwwyhieoFp5E2swK9DMS8PwbmE50g0fRV3E25LNc7JzCzFC/Aai1ghNWPBr0SeHoBh4pizIj93frkmkOPzHPZk6DXIOW7zng+QuB5osQ+XFv3WPNYuNlqsmlgwOooW0t2cgY8eSUgupSkh4HQMQ9fOCzeL1bTLUFwGLB7qCxT/OAT9IOM59OJgytPD/j5jb8hScFOQJg/Hd0HunYuB1+DLiGSUt31JhkbiAOI+GLH0VaiR0tOkJHKqVvvgAX2JwouYrLBODoEsvgPd28YclHho8kIIu2rDWxPVBfbVLpSBQcp2vYo9GQg5u43kOg84xE5+Llm5zsNtkbvpdsbfk7IYTAB38GGDll0VysHtOw8oNAmCK8Fndjjc1PYOArJmrZqSaDTj5v3n/mNnN0a6ZEtE58IwpDhFbT/M4nD9Ct8WZYdOkMvSg/mqrlfd84y39Jz0u/yrGcgszqGJdjTOM+C83rZJP6ldlDAhbks2mJofXH/69W07gkMy5x94ZuJdCTd05n9puQitYvfKGVz+XEtcexs2S9b20FRNQsdQbFIjmANjEITVkxbAOnj2Lait7WNyoVx/BIZRNO7WWMxMVuYpJY1vY7fZw4zDa5Da7fPTmA5AbiFt+T0nZDXhoeTWGs7FEC1Ydpx7EIX8cVcxtsOVbp12I=",
    "password": "12345678a",
    "fielcer": "MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIAgEAAoIBAQACAggAMBQGCCqGSIb3DQMHBAgwggS8AgEAMASCBMh4EHl7aNSCaMDA1VlRoXCZ5UUmqErAbucRFLOMmsAaFJThFS4JUw+FB6qBT2Lo+JjDBghZX3Hfv6MlDSxgiwul8zjb1YQM22U5PJT5IRqv3zjLRwh1criHOC9ndzIM6UauJoFaS/35WUIKi0QPw/QhXHbqMnszvAxtWRgpDsvRzd9wmWRMh/0Ud6HiUlHw79oxoCXXj6GAJAiQmXEGp9cV1B7hihtm241u8Gly9oq1oAAl3gnoth8KrWAsMrHMvAvBtkynYZPx9SV/8x8snnThqYj7TkHFrfmsZsqpW8GBhagLo93bpBLKpGwF2ycxIsStDQfh2xFg2v7SyCkvK9WyIbEVn29RAux88MPQ1YEhMjmWmx/umutQC6aK/8UpEgMcQtXeJXj2Uhep8xIxt0iX46FWnSY04biPzRBuDzU7mxsoPR84vc8pJD0xv3YMNm3W0QsiB53vwkv9AIo54q+NHD5hu0OfcYmrrOaSdWqTrLrzDsa+k7Akc9VwgfInMfRo+fBvWa3t35lM9+Rew+cC9caT6oNY6vQrw/cwE4XzCuC02GpZ89RhZuh7UWmb+DCaAbKdz+1uXwM8x9bEjujErf+xxc4kL/sW/yuFllk7ymE3KQk3cyKKJYIXJ3AsTT03k1yJYNlmUEUyv2h+i+0tkxtD33N59Wo8VC0LTH2p4hXaJ6M01VMlkANM+T9wsXpzh6xmjNdW7uLLZBuUZEOu96auzN7cS5iEQfcni04IBoKr4TKf00Z3w4WAfkpNBCuo5Bikefsc+gGzPvu5T01DpTXhxNm8HuTynMcRaIZkMnJ8JLghDL8bf6iwKb9YNIMSpxkfDoSRRhDknXHcUR1chXdskujTZWCsk/3ndTWuitP0ggedlf8TnExqvqUeDp/bhLGKxSG4n2k07hMx8A0gFOaBftJjS37OuORHvmD9LJV20ThK5TuOppdPJLkod00bcIaIb40KOHzDmf8ACkH4BAeu6v3u3zqzSfqxb4Ec9OHmonbacYcggW1kSeLEhYpVOdK+JVD0haizlpkRxeyOVhyI98bPkiC8ayP0T/ikd30Qb1DAw39nk07omjcvb+PXSZoOOCJTyDog51MdxBo/Huy7osrE+0YJ2RPp0sqzQdPxbyau3+LRX1tOy0DMriqdkFk6UQqnU+7vWsw2q0YQJkz/zVhsXOlDQKL4Ml5944E6OjZZzHee8RafTQM8mEGGN6iQhh+gQfDvGvJx+WgH1JfHbCsf/fQqanQHjutSq9crxaXYH0YoTZADy6RT70c1sXrgWxhmgpjgdhZ13xbono5P9c2ANyfkKLQxY7Lr9v5AVi5dZD9OeyvodMDT0/OIMV9KVCuCQ9tMWoHJJEzoxmhxLOjLNBsOkSTTrPr1Ogl8EgcTwGHn7PlM2seEx0PCVbSFaay70SbWUv0bkBOQMgLg94uJDubXcOB00Aw8FaHXnw0DetGiRrYzcqtBQju/0akE5YPrgAaOaMK4A6Ko36uZifDiIE+cKcscu8y5rpZvAtlXLY3hNbU8Vp3LmRrxgDE5nJqdbcN8mGgMI/flOppw7KRHlAFy0z0NlJTBjwq2brRRPH8igb+r5IAVFZzqEiqKFjO/uU/c3loPNQTK57r7Busp930=",
    "fielkey": "MIIFgDCCA2igAwIBAgIUMzAwMDEwMDAwMDA1MDAwMDMzMTcwDQYJKoZIhvcNAQELBQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFETUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0wGwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWxpejEOMAwGA1UEEQwFMDYzNzAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhDT1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3BvbnNhYmxlOiBBQ0RNQS1TQVQwHhcNMjMwNTA5MjEzNzM3WhcNMjcwNTA5MjEzNzM3WjCBpzEdMBsGA1UEAxMUWE9DSElMVCBDQVNBUyBDSEFWRVoxHTAbBgNVBCkTFFhPQ0hJTFQgQ0FTQVMgQ0hBVkVaMR0wGwYDVQQKExRYT0NISUxUIENBU0FTIENIQVZFWjEWMBQGA1UELRMNQ0FDWDc2MDUxMDFQODEbMBkGA1UEBRMSQ0FDWDc2MDUxME1HVFNIQzA0MRMwEQYDVQQLEwpTdWN1cnNhbCAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApG2xe/cC25l8y4uF/cq/R4CipKrbDJ+mVHkQ0X0vd/7/bjCvphYuF41HIr91T3Ux51jkuIBZdZ1A9o2W7nwt+MNY165p6+/dunXPDMaM8gIOShITK1Hno+6VYr9sbuciYkrxTbY1kU9M8f8TJ1Z8zYPTxHvuRma7fcWyg1uNXgQyuOFRDwzIk3pDK1YtDkDZzxpkDokYFu4oKhHb1TKUtT2uhGc3fmYG5zP6/bUDDgf4ugGNQccsd5QWm4SzplEsiyK2ggfLQ8q6ZC4SPQZolM10iUyOst4iZ9a5V7/7xOJW9qir40hCguZqhyvamsO6UXok9mOYAOo4rErV4D7FJQIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQsFAAOCAgEAnrMfNcLjPZOw85YRNwwyhieoFp5E2swK9DMS8PwbmE50g0fRV3E25LNc7JzCzFC/Aai1ghNWPBr0SeHoBh4pizIj93frkmkOPzHPZk6DXIOW7zng+QuB5osQ+XFv3WPNYuNlqsmlgwOooW0t2cgY8eSUgupSkh4HQMQ9fOCzeL1bTLUFwGLB7qCxT/OAT9IOM59OJgytPD/j5jb8hScFOQJg/Hd0HunYuB1+DLiGSUt31JhkbiAOI+GLH0VaiR0tOkJHKqVvvgAX2JwouYrLBODoEsvgPd28YclHho8kIIu2rDWxPVBfbVLpSBQcp2vYo9GQg5u43kOg84xE5+Llm5zsNtkbvpdsbfk7IYTAB38GGDll0VysHtOw8oNAmCK8Fndjjc1PYOArJmrZqSaDTj5v3n/mNnN0a6ZEtE58IwpDhFbT/M4nD9Ct8WZYdOkMvSg/mqrlfd84y39Jz0u/yrGcgszqGJdjTOM+C83rZJP6ldlDAhbks2mJofXH/69W07gkMy5x94ZuJdCTd05n9puQitYvfKGVz+XEtcexs2S9b20FRNQsdQbFIjmANjEITVkxbAOnj2Lait7WNyoVx/BIZRNO7WWMxMVuYpJY1vY7fZw4zDa5Da7fPTmA5AbiFt+T0nZDXhoeTWGs7FEC1Ydpx7EIX8cVcxtsOVbp12I=",
    "fielpassword": "12345678a"
}

Respuesta erronea cuando hay informacion faltante

{
    "status": "error",
    "message": {
        "razons": [
            "El campo razons es requerido"
        ]
    }
}

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.

Actualizar empresa

A continuación se explica como actualizar los datos de una empresa dada de alta en Factura Online

Para actualizar la información de una empresa es necesario enviar minimo alguno de los siguientes parámetros:

Importante

Es importante tomar en cuenta que cada uno de los datos de nuestra empresa pueden ser modificados individualmente enviando minimo alguno de los parametros listados a continuación, pero si deseamos actualizar los certificados CSD o los certificados de la e.firma o FIEL de nuestra empresa sera necesario enviar los archivos .cer y .key junto al password que corresponde a nuestras credenciales en conjunto es decir que nuestro método debera incluir estos tres parametros juntos para que puedan ser actualizados.

ParámetroTipoRequeridoDetalles
razonsStringRequeridoLa razón social de tu empresa
rfcStringRequeridoEl RFC de tu empresa
codposStringRequeridoEl codigo postal en el que esta registrada tu empresa
calleStringOpcionalCalle del domicilio fiscal de tu empresa
numero_exteriorStringOpcionalNumero exterior del domicilio fiscal de tu empresa
numero_interiorStringOpcionalNumero interior del domicilio fiscal de tu empresa
coloniaStringOpcionalIndica la colonia del domicilio fiscal de tu empresa
estadoStringOpcionalIndica el estado del domicilio fiscal de tu empresa
ciudadStringOpcionalIndica la ciudad del domicilio fiscal de tu empresa
delegacionStringOpcionalIndica la delegacion del domicilio fiscal de tu empresa
emailStringRequeridoLa direccion principal de correo electronico para tu empresa
regimenStringOpcionalIndica el regimen fiscal al cual pertenece tu empresa para generar CFDIs
mailtomycontaStringOpcionalIndica si se quiere enviar una copia de los correos electronicos de los CFDIs generados a tu contador
mail_contaStringOpcionalEl correo electronico del contador
mailtomyselfStringOpcionalIndica si se quiere enviar una copia de los correos electronicos de los CFDIs generados a tu direccion principal
regimen_nominaStringOpcionalIndica el regimen al cual pertenece tu empresa para generar nominas
cant_folios_minStringOpcionalIndica el limite minimo de folios disponible para tu empresa, genera una alerta cuando estas por agotar tus folios cuando se alcanza el numero minimo
smtpStringOpcionalSi utilizas un servidor de SMTP para enviar tus comprobantes aqui se indica el nombre
smtp_emailStringOpcionalEl correo que corresponde a tu servicio de SMTP para el envio de comprobantes
smtp_passwordStringOpcionalContraseña de tu SMTP
smtp_portStringOpcionalIndica el puerto que utiliza tu SMTP
smtp_hostStringOpcionalIndica el host de tu SMTP
smtp_encryptionStringOpcionalIndica el tip de encriptacion que utiliza tu SMTP
telefonoStringOpcionalEl numero telefonico de tu empresa
curpStringOpcionalEl CURP bajo la cual esta registrada tu empresa
logoArchivo tipo jpg, jpeg o pngOpcionalIndica el logo que se utilizara para tu empresa
passwordStringRequeridoLa contraseña que utilizaste cuando creaste tus archivos CSD (.cer y .key)
cerArchivo .cerRequeridoEl archivo .cer correspondiente a tu empresa
keyArchivo .keyRequeridoEl archivo .key correspondiente a tu empresa
fielcerArchivo .cerOpcionalEl archivo .cer correspondiente a tu e.firma o FIEL
fielkeyArchivo .keyOpcionalEl archivo .key correspondiente a tu e.firma o FIEL
fielpasswordStringOpcional / Requerido si se envia "fielcer" y "fielkey"La contraseña que utilizaste para la creación de tu e.firma o FIEL

Importante

El método que se utiliza para actualizar una empresa es de tipo POST

Construcción de la URL

Host: https://facturaonline.com.mx/api (producción) / https://sandbox.facturaonline.com.mx/api (sandbox)

Endpoint: /v4/account/{uid}/update

Ejemplo: https://facturaonline.com.mx/api/v4/account/607a062eae2bb/update

Tip

Para probar el código de ejemplo es necesario que reemplaces el texto Tu API key por el API KEY de tu cuenta, e Tu Secret key por el SECRET KEY correspondiente.

Ademas de reemplazar la palabra UID por el UID correspondiente a la empresa que vamos a modificar

Ejemplo para actualizar empresa

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/v4/account/607a062eae2bb/update',
  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 => array('razons' => 'Razon de prueba',
      'rfc' => 'FUNK123456PH7',
      'codpos' => '44444',
      'calle' => 'Ramon corona',
      'numero_exterior' => '123',
      'numero_interior' => '4',
      'colonia' => 'Centro',
      'estado' => 'Jalisco',
      'ciudad' => 'Arandas',
      'delegacion' => 'Santiaguito',
      'email' => '[email protected]',
      'regimen' => '612',
      'mailtomyconta' => '1',
      'mail_conta' => '[email protected]',
      'mailtomyself' => '1',
      'regimen_nomina' => '612',
      'cant_folios_min' => '66',
      'smtp' => '1',
      'smtp_email' => '[email protected]',
      'smtp_password' => 'password',
      'smtp_port' => '4433',
      'smtp_host' => 'gmail.com',
      'smtp_encryption' => 'tls',
      'telefono' => '3344556677',
      'curp' => 'FUNK123456PH7PD89',
      'logo' => new CURLFILE('/path/to/cer/file'),
      'cer' => new CURLFILE('/path/to/cer/file'),
      'key' => new CURLFILE('/path/to/key/file'),
      'password' => '12345678a',
      'fielcer' => new CURLFILE('/path/to/fielcer/file'),
      'fielkey' => new CURLFILE('/path/to/fielkey/file'),
      'fielpasswordd' => '12345678a'
    ),
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'F-PLUGIN: 9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
    'F-Api-Key: JDJ5JDEwJEtZQ1ljMktldmM0Zy9KeUlHQklmdS56WDBpWnpVOWxIZHM2eXN4WG95blZrTFRqWlhISDJh',
    'F-Secret-Key: JDJ5JDEwJC5SbDRXYi5LMFNZQ0dYYUxKMXlDLy4vbHI3T1JXVEVFZy85UDJLUnFMbG5FLnFrcmNOTGsu'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

var request = require('request');
var fs = require('fs');
var options = {
  'method': 'POST',
  'url': '{ HOST }/v4/account/607a062eae2bb/update',
  'headers': {
    'Content-Type': 'application/json',
    'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
    'F-Api-Key': 'JDJ5JDEwJEtZQ1ljMktldmM0Zy9KeUlHQklmdS56WDBpWnpVOWxIZHM2eXN4WG95blZrTFRqWlhISDJh',
    'F-Secret-Key': 'JDJ5JDEwJC5SbDRXYi5LMFNZQ0dYYUxKMXlDLy4vbHI3T1JXVEVFZy85UDJLUnFMbG5FLnFrcmNOTGsu'
  },
  formData: {'razons': 'Razon de prueba',
    'rfc': 'FUNK123456PH7',
    'codpos': '44444',
    'calle': 'Ramon corona',
    'numero_exterior': '123',
    'numero_interior': '4',
    'colonia': 'Centro',
    'estado': 'Jalisco',
    'ciudad': 'Arandas',
    'delegacion': 'Santiaguito',
    'email': '[email protected]',
    'regimen': '612',
    'mailtomyconta': '1',
    'mail_conta': '[email protected]',
    'mailtomyself': '1',
    'regimen_nomina': '612',
    'cant_folios_min': '66',
    'smtp': '1',
    'smtp_email': '[email protected]',
    'smtp_password': 'password',
    'smtp_port': '4433',
    'smtp_host': 'gmail.com',
    'smtp_encryption': 'tls',
    'telefono': '3344556677',
    'curp': 'FUNK123456PH7PD89',
    'logo': {
      'value': fs.createReadStream('/path/to/file'),
      'options': {
        'filename': 'filename'
        'contentType': null
      }
    },
    'cer': {
      'value': fs.createReadStream('/path/to/file'),
      'options': {
        'filename': 'filename'
        'contentType': null
      }
    },
    'key': {
      'value': fs.createReadStream('/path/to/file'),
      'options': {
        'filename': 'filename'
        'contentType': null
      }
    },
    'password': '12345678a',
    'fielcer': {
      'value': fs.createReadStream('/path/to/file'),
      'options': {
        'filename': 'filename'
        'contentType': null
      }
    },
    'fielkey': {
      'value': fs.createReadStream('/path/to/file'),
      'options': {
        'filename': 'filename'
        'contentType': null
      }
    },
    'fielpasswordd': '12345678a'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

import requests
import json

url = "{ HOST }/v4/account/607a062eae2bb/update"

payload = {'razons': 'Razon de prueba',
'rfc': 'FUNK123456PH7',
'codpos': '44444',
'calle': 'Ramon corona',
'numero_exterior': '123',
'numero_interior': '4',
'colonia': 'Centro',
'estado': 'Jalisco',
'ciudad': 'Arandas',
'delegacion': 'Santiaguito',
'email': '[email protected]',
'regimen': '612',
'mailtomyconta': '1',
'mail_conta': '[email protected]',
'mailtomyself': '1',
'regimen_nomina': '612',
'cant_folios_min': '66',
'smtp': '1',
'smtp_email': '[email protected]',
'smtp_password': 'password',
'smtp_port': '4433',
'smtp_host': 'gmail.com',
'smtp_encryption': 'tls',
'telefono': '3344556677',
'curp': 'FUNK123456PH7PD89',
'password': '12345678a',
'fielpasswordd': '12345678a'}
files=[
  ('logo',('file',open('/path/to/file','rb'),'application/octet-stream'))
  ('cer',('file',open('/path/to/file','rb'),'application/octet-stream')),
  ('key',('file',open('/path/to/file','rb'),'application/octet-stream')),
  ('fielcer',('file',open('/path/to/file','rb'),'application/octet-stream')),
  ('fielkey',('file',open('/path/to/file','rb'),'application/octet-stream'))
]
headers = {
  'Content-Type': 'application/json',
  'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
  'F-Api-Key': 'JDJ5JDEwJEtZQ1ljMktldmM0Zy9KeUlHQklmdS56WDBpWnpVOWxIZHM2eXN4WG95blZrTFRqWlhISDJh',
  'F-Secret-Key': 'JDJ5JDEwJC5SbDRXYi5LMFNZQ0dYYUxKMXlDLy4vbHI3T1JXVEVFZy85UDJLUnFMbG5FLnFrcmNOTGsu'
}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)

require "uri"
require "json"
require "net/http"

url = URI("{ HOST }/v4/account/607a062eae2bb/update")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["F-PLUGIN"] = "9d4095c8f7ed5785cb14c0e3b033eeb8252416ed"
request["F-Api-Key"] = "JDJ5JDEwJEtZQ1ljMktldmM0Zy9KeUlHQklmdS56WDBpWnpVOWxIZHM2eXN4WG95blZrTFRqWlhISDJh"
request["F-Secret-Key"] = "JDJ5JDEwJC5SbDRXYi5LMFNZQ0dYYUxKMXlDLy4vbHI3T1JXVEVFZy85UDJLUnFMbG5FLnFrcmNOTGsu"
form_data = [['razons', 'Razon de prueba'],
    ['rfc', 'FUNK123456PH7'],
    ['codpos', '44444'],
    ['calle', 'Ramon corona'],
    ['numero_exterior', '123'],
    ['numero_interior', '4'],
    ['colonia', 'Centro'],
    ['estado', 'Jalisco'],
    ['ciudad', 'Arandas'],
    ['delegacion', 'Santiaguito'],
    ['email', '[email protected]'],
    ['regimen', '612'],
    ['mailtomyconta', '1'],
    ['mail_conta', '[email protected]'],
    ['mailtomyself', '1'],
    ['regimen_nomina', '612'],
    ['cant_folios_min', '66'],
    ['smtp', '1'],
    ['smtp_email', '[email protected]'],
    ['smtp_password', 'password'],
    ['smtp_port', '4433'],
    ['smtp_host', 'gmail.com'],
    ['smtp_encryption', 'tls'],
    ['telefono', '3344556677'],
    ['curp', 'FUNK123456PH7PD89'],
    ['logo', File.open('undefined')],
    ['cer', File.open('undefined')],
    ['key', File.open('undefined')],
    ['password', '12345678a'],
    ['fielcer', File.open('undefined')],
    ['fielkey', File.open('undefined')],
    ['fielpasswordd', '12345678a']
    ]
request.set_form form_data, 'multipart/form-data'
response = http.request(request)
puts response.read_body

Respuestas al actualizar una empresa

Respuesta exitosa

{
    "status": "create",
    "0": {
        "acco_id": 1954,
        "acco_uid": "61e20b1903bad",
        "acco_razon_social": "TU RAZON SOCIAL",
        "acco_rfc": "FUNK123456PH7",
        "acco_regimen": "Personas Físicas con Actividades Empresariales y Profesionales",
        "acco_regimen_33": "612",
        "acco_calle": "Ramon corona",
        "acco_numero": "123",
        "acco_interior": "4",
        "acco_colonia": "Centro",
        "acco_codpos": "44444",
        "acco_estado": "Jalisco",
        "acco_delegacion": "Arandas",
        "acco_ciudad": "Arandas",
        "acco_telefono": "3344556677",
        "acco_create": "2023-01-14",
        "acco_lastupdate": "2023-05-16",
        "acco_cer_path": "file_name.cer",
        "acco_key_path": "file_name.key",
        "acco_pem_path": "file_name.pem",
        "acco_psswrd_cer": "password",
        "acco_cer_no": "no_cer",
        "acco_logo_path": "file_name.jpg",
        "acco_cedula_path": "",
        "acco_main": 0,
        "acco_deleted": 0,
        "acco_user_id": 1765,
        "acco_email": "[email protected]",
        "acco_api_key": "apikey",
        "acco_secret_key": "secretkey",
        "acco_smtp": "1",
        "acco_pdf": "{\"background\":\"#20436F\",\"color\":\"#ffffff\"}",
        "acco_email_settings": null,
        "acco_mailtomyself": "1",
        "acco_mailtomyconta": "1",
        "acco_email_conta": "[email protected]",
        "acco_curp": "FUNK123456PH7PD89",
        "acco_regimen_nomina": "612",
        "acco_fiel_cer": "file_name.cer",
        "acco_fiel_key": "file_name.key",
        "acco_fiel_pwd": "password",
        "acco_apps": null,
        "acco_folios_alert": "66"
    }
}

Solución de problemas al cargar archivos CSD o FIEL

Cuando existe un problema para subir los archivos CSD o de la FIEL por medio de API por cuestiones de permisos o problemas por el tamaño de los archivos estos pueden subirse a traves de una cadena en "base 64" en lugar de tratar de enviar el archivo, se muestra a continuacion un ejemplo de como se deberian enviar los campos en caso de hacerlo de esta forma, recuerda que la peticion es igual y solo reemplazaremos el archivo de los CSD o FIEL por un campo de texto.

Importante

Para codificar los archivos CSD o FIEL en base 64 varia dependiendo el lenguaje que utilices para obtener tu propia cadena debes buscar la forma correcta de realizarlo para tu caso en especifico.

Como un ejemplo se necesitan los siguientes pasos:

  • Obetener el contenido de el CSD o FIEL (.cer y .key)
  • Codificar el contenido en base 64 (encode64 o base64 son algunos de los terminos mas comunes)
  • Obtener la cadena resultante y enviarlo

Para enviar los archivos en base 64 a traves para crear o actualizar una empresa se necesitan los siguientes parametros.

 Parámetro Tipo Requerido Detalles
 csd_cer_b64 String RequeridoArchivo CSD .cer codificado en base64, se debe enviar la cadena resultante al codificar el contenido del .cer
 csd_key_b64  String  Requerido  Archivo CSD .key codificado en base64, se debe enviar la cadena resultante al codificar el contenido del .key
password  String  Requerido si se envia cer y key  Se requiere incluir en la petición al enviar las cadenas cer y key
 fiel_cer_b64 String RequeridoArchivo FIEL .cer codificado en base64, se debe enviar la cadena resultante al codificar el contenido del .cer
 fiel_key_b64  String  Requerido  Archivo FIEL .key codificado en base64, se debe enviar la cadena resultante al codificar el contenido del .key
fielpassword  String  Requerido si se envia fielcer y fielkey  Se requiere incluir en la petición al enviar las cadenas fielcer y fielkey
{
    "cer": "MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIAgEAAoIBAQACAggAMBQGCCqGSIb3DQMHBAgwggS8AgEAMASCBMh4EHl7aNSCaMDA1VlRoXCZ5UUmqErAbucRFLOMmsAaFJThFS4JUw+FB6qBT2Lo+JjDBghZX3Hfv6MlDSxgiwul8zjb1YQM22U5PJT5IRqv3zjLRwh1criHOC9ndzIM6UauJoFaS/35WUIKi0QPw/QhXHbqMnszvAxtWRgpDsvRzd9wmWRMh/0Ud6HiUlHw79oxoCXXj6GAJAiQmXEGp9cV1B7hihtm241u8Gly9oq1oAAl3gnoth8KrWAsMrHMvAvBtkynYZPx9SV/8x8snnThqYj7TkHFrfmsZsqpW8GBhagLo93bpBLKpGwF2ycxIsStDQfh2xFg2v7SyCkvK9WyIbEVn29RAux88MPQ1YEhMjmWmx/umutQC6aK/8UpEgMcQtXeJXj2Uhep8xIxt0iX46FWnSY04biPzRBuDzU7mxsoPR84vc8pJD0xv3YMNm3W0QsiB53vwkv9AIo54q+NHD5hu0OfcYmrrOaSdWqTrLrzDsa+k7Akc9VwgfInMfRo+fBvWa3t35lM9+Rew+cC9caT6oNY6vQrw/cwE4XzCuC02GpZ89RhZuh7UWmb+DCaAbKdz+1uXwM8x9bEjujErf+xxc4kL/sW/yuFllk7ymE3KQk3cyKKJYIXJ3AsTT03k1yJYNlmUEUyv2h+i+0tkxtD33N59Wo8VC0LTH2p4hXaJ6M01VMlkANM+T9wsXpzh6xmjNdW7uLLZBuUZEOu96auzN7cS5iEQfcni04IBoKr4TKf00Z3w4WAfkpNBCuo5Bikefsc+gGzPvu5T01DpTXhxNm8HuTynMcRaIZkMnJ8JLghDL8bf6iwKb9YNIMSpxkfDoSRRhDknXHcUR1chXdskujTZWCsk/3ndTWuitP0ggedlf8TnExqvqUeDp/bhLGKxSG4n2k07hMx8A0gFOaBftJjS37OuORHvmD9LJV20ThK5TuOppdPJLkod00bcIaIb40KOHzDmf8ACkH4BAeu6v3u3zqzSfqxb4Ec9OHmonbacYcggW1kSeLEhYpVOdK+JVD0haizlpkRxeyOVhyI98bPkiC8ayP0T/ikd30Qb1DAw39nk07omjcvb+PXSZoOOCJTyDog51MdxBo/Huy7osrE+0YJ2RPp0sqzQdPxbyau3+LRX1tOy0DMriqdkFk6UQqnU+7vWsw2q0YQJkz/zVhsXOlDQKL4Ml5944E6OjZZzHee8RafTQM8mEGGN6iQhh+gQfDvGvJx+WgH1JfHbCsf/fQqanQHjutSq9crxaXYH0YoTZADy6RT70c1sXrgWxhmgpjgdhZ13xbono5P9c2ANyfkKLQxY7Lr9v5AVi5dZD9OeyvodMDT0/OIMV9KVCuCQ9tMWoHJJEzoxmhxLOjLNBsOkSTTrPr1Ogl8EgcTwGHn7PlM2seEx0PCVbSFaay70SbWUv0bkBOQMgLg94uJDubXcOB00Aw8FaHXnw0DetGiRrYzcqtBQju/0akE5YPrgAaOaMK4A6Ko36uZifDiIE+cKcscu8y5rpZvAtlXLY3hNbU8Vp3LmRrxgDE5nJqdbcN8mGgMI/flOppw7KRHlAFy0z0NlJTBjwq2brRRPH8igb+r5IAVFZzqEiqKFjO/uU/c3loPNQTK57r7Busp930=",
    "key": "MIIFgDCCA2igAwIBAgIUMzAwMDEwMDAwMDA1MDAwMDMzMTcwDQYJKoZIhvcNAQELBQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFETUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0wGwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWxpejEOMAwGA1UEEQwFMDYzNzAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhDT1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3BvbnNhYmxlOiBBQ0RNQS1TQVQwHhcNMjMwNTA5MjEzNzM3WhcNMjcwNTA5MjEzNzM3WjCBpzEdMBsGA1UEAxMUWE9DSElMVCBDQVNBUyBDSEFWRVoxHTAbBgNVBCkTFFhPQ0hJTFQgQ0FTQVMgQ0hBVkVaMR0wGwYDVQQKExRYT0NISUxUIENBU0FTIENIQVZFWjEWMBQGA1UELRMNQ0FDWDc2MDUxMDFQODEbMBkGA1UEBRMSQ0FDWDc2MDUxME1HVFNIQzA0MRMwEQYDVQQLEwpTdWN1cnNhbCAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApG2xe/cC25l8y4uF/cq/R4CipKrbDJ+mVHkQ0X0vd/7/bjCvphYuF41HIr91T3Ux51jkuIBZdZ1A9o2W7nwt+MNY165p6+/dunXPDMaM8gIOShITK1Hno+6VYr9sbuciYkrxTbY1kU9M8f8TJ1Z8zYPTxHvuRma7fcWyg1uNXgQyuOFRDwzIk3pDK1YtDkDZzxpkDokYFu4oKhHb1TKUtT2uhGc3fmYG5zP6/bUDDgf4ugGNQccsd5QWm4SzplEsiyK2ggfLQ8q6ZC4SPQZolM10iUyOst4iZ9a5V7/7xOJW9qir40hCguZqhyvamsO6UXok9mOYAOo4rErV4D7FJQIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQsFAAOCAgEAnrMfNcLjPZOw85YRNwwyhieoFp5E2swK9DMS8PwbmE50g0fRV3E25LNc7JzCzFC/Aai1ghNWPBr0SeHoBh4pizIj93frkmkOPzHPZk6DXIOW7zng+QuB5osQ+XFv3WPNYuNlqsmlgwOooW0t2cgY8eSUgupSkh4HQMQ9fOCzeL1bTLUFwGLB7qCxT/OAT9IOM59OJgytPD/j5jb8hScFOQJg/Hd0HunYuB1+DLiGSUt31JhkbiAOI+GLH0VaiR0tOkJHKqVvvgAX2JwouYrLBODoEsvgPd28YclHho8kIIu2rDWxPVBfbVLpSBQcp2vYo9GQg5u43kOg84xE5+Llm5zsNtkbvpdsbfk7IYTAB38GGDll0VysHtOw8oNAmCK8Fndjjc1PYOArJmrZqSaDTj5v3n/mNnN0a6ZEtE58IwpDhFbT/M4nD9Ct8WZYdOkMvSg/mqrlfd84y39Jz0u/yrGcgszqGJdjTOM+C83rZJP6ldlDAhbks2mJofXH/69W07gkMy5x94ZuJdCTd05n9puQitYvfKGVz+XEtcexs2S9b20FRNQsdQbFIjmANjEITVkxbAOnj2Lait7WNyoVx/BIZRNO7WWMxMVuYpJY1vY7fZw4zDa5Da7fPTmA5AbiFt+T0nZDXhoeTWGs7FEC1Ydpx7EIX8cVcxtsOVbp12I=",
    "password": "12345678a",
    "fielcer": "MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIAgEAAoIBAQACAggAMBQGCCqGSIb3DQMHBAgwggS8AgEAMASCBMh4EHl7aNSCaMDA1VlRoXCZ5UUmqErAbucRFLOMmsAaFJThFS4JUw+FB6qBT2Lo+JjDBghZX3Hfv6MlDSxgiwul8zjb1YQM22U5PJT5IRqv3zjLRwh1criHOC9ndzIM6UauJoFaS/35WUIKi0QPw/QhXHbqMnszvAxtWRgpDsvRzd9wmWRMh/0Ud6HiUlHw79oxoCXXj6GAJAiQmXEGp9cV1B7hihtm241u8Gly9oq1oAAl3gnoth8KrWAsMrHMvAvBtkynYZPx9SV/8x8snnThqYj7TkHFrfmsZsqpW8GBhagLo93bpBLKpGwF2ycxIsStDQfh2xFg2v7SyCkvK9WyIbEVn29RAux88MPQ1YEhMjmWmx/umutQC6aK/8UpEgMcQtXeJXj2Uhep8xIxt0iX46FWnSY04biPzRBuDzU7mxsoPR84vc8pJD0xv3YMNm3W0QsiB53vwkv9AIo54q+NHD5hu0OfcYmrrOaSdWqTrLrzDsa+k7Akc9VwgfInMfRo+fBvWa3t35lM9+Rew+cC9caT6oNY6vQrw/cwE4XzCuC02GpZ89RhZuh7UWmb+DCaAbKdz+1uXwM8x9bEjujErf+xxc4kL/sW/yuFllk7ymE3KQk3cyKKJYIXJ3AsTT03k1yJYNlmUEUyv2h+i+0tkxtD33N59Wo8VC0LTH2p4hXaJ6M01VMlkANM+T9wsXpzh6xmjNdW7uLLZBuUZEOu96auzN7cS5iEQfcni04IBoKr4TKf00Z3w4WAfkpNBCuo5Bikefsc+gGzPvu5T01DpTXhxNm8HuTynMcRaIZkMnJ8JLghDL8bf6iwKb9YNIMSpxkfDoSRRhDknXHcUR1chXdskujTZWCsk/3ndTWuitP0ggedlf8TnExqvqUeDp/bhLGKxSG4n2k07hMx8A0gFOaBftJjS37OuORHvmD9LJV20ThK5TuOppdPJLkod00bcIaIb40KOHzDmf8ACkH4BAeu6v3u3zqzSfqxb4Ec9OHmonbacYcggW1kSeLEhYpVOdK+JVD0haizlpkRxeyOVhyI98bPkiC8ayP0T/ikd30Qb1DAw39nk07omjcvb+PXSZoOOCJTyDog51MdxBo/Huy7osrE+0YJ2RPp0sqzQdPxbyau3+LRX1tOy0DMriqdkFk6UQqnU+7vWsw2q0YQJkz/zVhsXOlDQKL4Ml5944E6OjZZzHee8RafTQM8mEGGN6iQhh+gQfDvGvJx+WgH1JfHbCsf/fQqanQHjutSq9crxaXYH0YoTZADy6RT70c1sXrgWxhmgpjgdhZ13xbono5P9c2ANyfkKLQxY7Lr9v5AVi5dZD9OeyvodMDT0/OIMV9KVCuCQ9tMWoHJJEzoxmhxLOjLNBsOkSTTrPr1Ogl8EgcTwGHn7PlM2seEx0PCVbSFaay70SbWUv0bkBOQMgLg94uJDubXcOB00Aw8FaHXnw0DetGiRrYzcqtBQju/0akE5YPrgAaOaMK4A6Ko36uZifDiIE+cKcscu8y5rpZvAtlXLY3hNbU8Vp3LmRrxgDE5nJqdbcN8mGgMI/flOppw7KRHlAFy0z0NlJTBjwq2brRRPH8igb+r5IAVFZzqEiqKFjO/uU/c3loPNQTK57r7Busp930=",
    "fielkey": "MIIFgDCCA2igAwIBAgIUMzAwMDEwMDAwMDA1MDAwMDMzMTcwDQYJKoZIhvcNAQELBQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFETUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0wGwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWxpejEOMAwGA1UEEQwFMDYzNzAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhDT1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3BvbnNhYmxlOiBBQ0RNQS1TQVQwHhcNMjMwNTA5MjEzNzM3WhcNMjcwNTA5MjEzNzM3WjCBpzEdMBsGA1UEAxMUWE9DSElMVCBDQVNBUyBDSEFWRVoxHTAbBgNVBCkTFFhPQ0hJTFQgQ0FTQVMgQ0hBVkVaMR0wGwYDVQQKExRYT0NISUxUIENBU0FTIENIQVZFWjEWMBQGA1UELRMNQ0FDWDc2MDUxMDFQODEbMBkGA1UEBRMSQ0FDWDc2MDUxME1HVFNIQzA0MRMwEQYDVQQLEwpTdWN1cnNhbCAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApG2xe/cC25l8y4uF/cq/R4CipKrbDJ+mVHkQ0X0vd/7/bjCvphYuF41HIr91T3Ux51jkuIBZdZ1A9o2W7nwt+MNY165p6+/dunXPDMaM8gIOShITK1Hno+6VYr9sbuciYkrxTbY1kU9M8f8TJ1Z8zYPTxHvuRma7fcWyg1uNXgQyuOFRDwzIk3pDK1YtDkDZzxpkDokYFu4oKhHb1TKUtT2uhGc3fmYG5zP6/bUDDgf4ugGNQccsd5QWm4SzplEsiyK2ggfLQ8q6ZC4SPQZolM10iUyOst4iZ9a5V7/7xOJW9qir40hCguZqhyvamsO6UXok9mOYAOo4rErV4D7FJQIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQsFAAOCAgEAnrMfNcLjPZOw85YRNwwyhieoFp5E2swK9DMS8PwbmE50g0fRV3E25LNc7JzCzFC/Aai1ghNWPBr0SeHoBh4pizIj93frkmkOPzHPZk6DXIOW7zng+QuB5osQ+XFv3WPNYuNlqsmlgwOooW0t2cgY8eSUgupSkh4HQMQ9fOCzeL1bTLUFwGLB7qCxT/OAT9IOM59OJgytPD/j5jb8hScFOQJg/Hd0HunYuB1+DLiGSUt31JhkbiAOI+GLH0VaiR0tOkJHKqVvvgAX2JwouYrLBODoEsvgPd28YclHho8kIIu2rDWxPVBfbVLpSBQcp2vYo9GQg5u43kOg84xE5+Llm5zsNtkbvpdsbfk7IYTAB38GGDll0VysHtOw8oNAmCK8Fndjjc1PYOArJmrZqSaDTj5v3n/mNnN0a6ZEtE58IwpDhFbT/M4nD9Ct8WZYdOkMvSg/mqrlfd84y39Jz0u/yrGcgszqGJdjTOM+C83rZJP6ldlDAhbks2mJofXH/69W07gkMy5x94ZuJdCTd05n9puQitYvfKGVz+XEtcexs2S9b20FRNQsdQbFIjmANjEITVkxbAOnj2Lait7WNyoVx/BIZRNO7WWMxMVuYpJY1vY7fZw4zDa5Da7fPTmA5AbiFt+T0nZDXhoeTWGs7FEC1Ydpx7EIX8cVcxtsOVbp12I=",
    "fielpassword": "12345678a"
}

Respuesta erronea

{
  "status": "error",
  "message": "La cuenta que intenta autenticarse no existe",
  "Data": "$2y$10$dnOV7qC7ZrD1CZitpUnTReLKtKPxG29XfwZylrEuiR0KVl18pOXXX",
  "Secret": "$2y$10$6ZN4aX5UExwz6HFlDSZcxOF1TGjHx8f40neE.CrXHHahyAfi8XXX."
}

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.

Eliminar empresa

A continuación se explica como funciona el servicio con el cual podras borrar una empresa de tu cuenta de Factura Online

Tip

Es necesario conocer el uid que representa la empresa que deseas borrar y hacerlo con cuidado ya que por medio de API no existe confirmación para eliminar la empresa.

A continuación se listan los atributos que se utilizan para la eliminación de una empresa que pueden ser enviados en la petición.

ParámetroTipoRequeridoDetalles
uidStringRequeridoIndica el id unico por el cual se encuentra identificada una empresa en Factura Online

Importante

El método que se utiliza para borrar una empresa es de tipo POST

Construcción de la URL

Host: https://facturaonline.com.mx/api (producción) / https://sandbox.facturaonline.com.mx/api (sandbox)

Endpoint: /v4/account/{uid}/delete

Ejemplo: https://facturaonline.com.mx/api/v4/account/64efdcdce7927/delete

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 eliminar una empresa

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/v4/account/64efdcdce7927/delete',
  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 => array('_method' => 'delete'),
  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/account/64efdcdce7927/delete',
  'headers': {
    'Content-Type': 'application/json',
    'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
    'F-Api-Key': 'Tu API key',
    'F-Secret-Key': 'Tu Secret key'
  },
  formData: {
    '_method': 'delete'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

import requests
import json

url = "{ HOST }/v4/account/64efdcdce7927/delete"

payload={'_method': 'delete'}
files=[

]
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, files=files)

print(response.text)

require "uri"
require "json"
require "net/http"

url = URI("{ HOST }/v4/account/64efdcdce7927/delete")

http = Net::HTTP.new(url.host, url.port);
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"
form_data = [['_method', 'delete']]
request.set_form form_data, 'multipart/form-data'
response = http.request(request)
puts response.read_body

Respuestas al eliminar una empresa

Respuesta exitosa

{
    "status": "success",
    "0": "La cuenta ha sido eliminada con exito"
}

Respuesta erronea al no encontrar la empresa

{
    "status": "failed",
    "0": "La empresa que intentas borrar no existe"
}

Respuesta erronea por problemas para autenticarse

{
  "status": "error",
  "message": "La cuenta que intenta autenticarse no existe",
  "Data": "$2y$10$dnOV7qC7ZrD1CZitpUnTReLKtKPxG29XfwZylrEuiR0KVl18pOXXX",
  "Secret": "$2y$10$6ZN4aX5UExwz6HFlDSZcxOF1TGjHx8f40neE.CrXHHahyAfi8XXX."
}

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.

Last Updated:
Prev
Clientes
Next
Migraciones