Cuentas

Conjunto de llamadas que permite realizar acciones sobre las cuentas subordinadas a una cuenta maestra de FacturaDirecta.

Recurso Descripción
GET /api/reseller/accounts.xml Devuelve un listado de cuentas creadas desde la cuenta maestra
GET /api/reseller/accounts/#{id}.xml Obtiene la información de una cuenta
POST /api/reseller/accounts/changePlan/#{id}.xml Cambia el plan de precios de una cuenta de cliente
POST /api/reseller/accounts.xml Crea una nueva cuenta de cliente

GET /api/reseller/accounts.xml

Devuelve un listado de las cuentas subordinadas a un cuenta maestra.

Obtener la lista de cuentas

curl -u 03334b0a261a2c355ae2db022a963d8e:x https://[ACCOUNT_NAME].facturadirecta.com/api/reseller/accounts.xml

Opciones de paginación de lista y límites de elementos

Por defecto la llamada devuelve los 100 primeros elementos. Para obtener la lista de más elementos o bien paginar las llamadas deben utilizarse los siguientes parámetros:

Parámetro Descripción
limit Indica el número de entradas que devolverá la llamada (por defecto son 100 y se pueden listar hasta un máximo de 250 entradas en una sola llamda)
start Indica la posición del primer elemento que se devolverá en la llamada (por defecto es el elemento de la posición 0)

Opciones de filtrado de cuentas

Para focalizar más la consulta de cuentas, puedes utilizar las siguientes opciones de filtrado:

Parámetro Descripción
accountStatus Permite obtener las cuentas según su estado. Opciones: all (todas), active (cuentas activas ), readonly (cuentas en modo sólo lectura), canceled (cuentas canceladas), deleted (cuentas eliminadas). Si no se indica este parámetro se obtienen solo las cuentas activas.
planKey Clave del plan de precios de la cuenta. Se pueden indicar los siguientes valores: free (Gratutito), initial (Iniciación), basic (Básico) y plus (Plus)
fromDate Permite obtener las cuentas que se han creado desde la fecha indicada (en formato AAAAMMDD)
toDate Permite obtener las cuentas que se han creado hasta la fecha indicada (en formato AAAAMMDD)

Ejemplos

curl -u 03334b0a261a2c355ae2db022a963d8e:x https://[ACCOUNT_NAME].facturadirecta.com/api/reseller/accounts.xml?fromDate=20110101\&toDate=20110331

curl -u 03334b0a261a2c355ae2db022a963d8e:x https://[ACCOUNT_NAME].facturadirecta.com/api/reseller/accounts.xml?fromDate=20110101\&toDate=20110331\&accontStatus=all

curl -u 03334b0a261a2c355ae2db022a963d8e:x https://[ACCOUNT_NAME].facturadirecta.com/api/reseller/accounts.xml?fromDate=20110101\&toDate=20110331\&accountStatus=all\&planKey=basic

Resultados de la consulta

La consulta devuelve un elemento account por cada cuenta con la siguiente estructura:

<account>
    <id>23</id>
    <accountStatus>active</accountStatus>
    <creationDate>20130108</creationDate>
    <accountName>ales</accountName>
    <planKey>basic</planKey>
    <totalAmount>139.86</totalAmount>
    <notInvoiced>9.99</notInvoiced>
</account>

Donde:

Campo Descripción
id Identificador interno de la cuenta
accountStatus Estado de la cuenta (active/readonly/canceled/deleted)
creationDate Fecha de creación de la cuenta
accountName Subdominio de la cuenta (Sólo se muestra si la cuenta está activa o en modo sólo lectura)
planKey Plan de precios de la cuenta (Sólo se muestra si la cuenta está activa o en modo sólo lectura)
totalAmount Importe total de uso de la cuenta (PVP sin impuestos) (Sólo se muestra si el usuario propietario del token de acceso tiene permisos totales en la zona de cuenta maestra)
notInvoiced Importe total no facturado de uso de la cuenta (PVP sin impuestos) (Sólo se muestra si el usuario propietario del token de acceso tiene permisos totales en la zona de cuentra maestra)

GET /api/reseller/accounts/#{id}.xml

Obtener la informacion de una cuenta creada

Ejemplo para obtener una cuenta con id interno 17

curl -u 03334b0a261a2c355ae2db022a963d8e:x https://[ACCOUNT_NAME].facturadirecta.com/api/reseller/accounts/17.xml

RESPUESTA SATISFACTORIA

<?xml version="1.0" encoding="UTF-8"?>
<account>
    <id>17</id>
    <accountStatus>active</accountStatus>
    <creationDate>20130130</creationDate>
    <accountName>alex</accountName>
    <planKey>basic</planKey>
    <legalType>J</legalType>
    <totalAmount>139.93</totalAmount>
    <notInvoiced>19.99</notInvoiced>
    <name><![CDATA[Alex Spark, SL]]></name>
    <email><![CDATA[alex@alexwebsite.com]]></email>
    <taxCode><![CDATA[B12345674]]></taxCode>
    <address>
    <line1><![CDATA[Calle Gran Vía, 14]]></line1>
    <line2><![CDATA[]]></line2>
    <city><![CDATA[Salamanca]]></city>
    <province><![CDATA[Salamanca]]></province>
    <zipcode><![CDATA[37001]]></zipcode>
    <country><![CDATA[ES]]></country>
    </address>
</account>

Cosas a tener en cuenta al obtener la información de una cuenta

Los elementos totalAmount y notInvoiced sólo se muestran si el usuario propietario del token de acceso tiene permisos totales en la zona de cuenta maestra.

Para cuentas canceladas solo se muestran los elementos id, accountStatus, creationDate, planKey, totalAmount y notInvoiced

POST /api/reseller/accounts/changePlan/#{id}.xml

Permite cambiar el plan asociado a una cuenta

curl -u 03334b0a261a2c355ae2db022a963d8e:x -X POST -H 'Accept: application/xml' https://[ACCOUNT_NAME].facturadirecta.com/api/reseller/accounts/17.xml?planKey=plus

La llamada anterior permite cambiar la cuenta con ID interno 17 al plan Plus.

Parámetros de la petición

Esta llamada no necesita ningún contenido en el cuerpo de la petición y únicamente es necesario indicar el nuevo plan en el parámetro planKey

Parámetro Descripción
planKey Clave del plan de precios de la cuenta.

Respuesta satisfactoria

En caso de que el cambio se realice con éxito se obtendrá el mismo contenido que si se hubieran consultado los datos de la cuenta,

POST /api/reseller/accounts.xml

Crear una nueva cuenta

curl -u 03334b0a261a2c355ae2db022a963d8e:x -X POST -H 'Accept: application/xml' -H 'Content-Type: application/xml'
-d "<?xml version='1.0' encoding='UTF-8'?>
<?xml version="1.0" encoding="utf-8"?>
<newAccount>
    <planKey>plus</planKey>
    <language>es</language> <!-- es|ca|en -->
    <legalType>J</legalType> <!-- F|J -->
    <name>Alex Sparks, SL</name>
    <email>alex@alexwebsite.com</email>
    <taxCode>B12345674</taxCode>
    <address>
    <line1><![CDATA[C/ de la Rua, 12]]></line1>
    <line2><![CDATA[]]></line2>
    <city><![CDATA[Zamora]]></city>
    <province><![CDATA[Zamora]]></province>
    <zipcode>49001</zipcode>
    <country>ES</country>
    </address>
</newAccount>
"
https://[ACCOUNT_NAME].facturadirecta.com/api/reseller/accounts.xml

Cosas a tener en cuenta en la creación de una cuenta

Los elementos obligatorios siempre son: planKey, legalType, email, taxCode, address/country

Se debe indicar legalType='J' para personas jurídicas (empresas) y en este caso se debe indicar el nombre de la empresa en el elemento name.

Ejemplo

<legalType>J</legalType>
<name>Alex Sparks, SL</name>

Se debe indicar legalType='F' para personas físicas (profesionales/autónomos) y en este caso se debe indicar nombre y apellidos en los elementos personName y personSurname.

Ejemplo

<legalType>J</legalType>
<personName>Álex</personName>
<personSurname>Castillo</personSurname>

En planKey se debe indicar la clave del plan a contratar.

En language se puede indicar el idioma predeterminado para el uso del programa. Los idiomas disponibles actualmente son es (español), ca (catalán) y en (inglés).

En taxCode se puede indicar el NIF (VAT number, ID tributario) de la empresa para la que se crea la cuenta. (Opcional)

En el elemento address se puede indicar la dirección de la empresa para la que se crea la cuenta.El elemento es obligatorio, pero de los subelementos solo es obligatorio indicar el país, elemento country. El país debe indicarse como código ISO-3166-2