Proveedores (Contactos)

Conjunto de llamadas que permiten realizar acciones sobre los contactos de proveedores de una cuenta de FacturaDirecta.

Recurso Descripción
GET /api/providers/contacts.xml Devuelve un listado de contactos de proveedor
GET /api/providers/contacts/#{id}.xml Devuelve información de un contacto de proveedor existente identificado por el identificador #{id}
PUT /api/providers/contacts/#{id}.xml Modifica los datos de un contacto de proveedor existente identificado por el identificador #{id}
POST /api/providers/contacts.xml Permite crear un nuevo contacto de proveedor
DELETE /api/providers/contacts/#{id}.xml Elimina un contacto de proveedor existente identificado por el identificador #{id}
PUT /api/providers/contacts.xml Devuelve una plantilla de la estructura en xml para poder utilizarla para crear un nuevo contacto de proveedor

GET /api/providers/contacts.xml

Obtener la lista de contactos de proveedores

curl -u 03334b0a261a2c355ae2db022a963d8e:x https://[ACCOUNT_NAME].facturadirecta.com/api/providers/contacts.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ámetros 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

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

Parámetros Descripción
provider Permite obtener una lista de los contactos de un proveedor (especificado por su ID)
email Permite obtener una lista de los contactos cuyo email coincide exactamente con el email indicado
emailMatch Permite indicar si la coincidencia en la búsqueda por email es exacta o parcial. El valor por defecto es búsqueda exacta, si no se indica o se indica cualquier valor incorrecto se realizará una búsqueda exacta. Valores posibles: equals, contains.

GET /api/providers/contacts/#{id}.xml

Obtener un contacto existente

Ejemplo para obtener un contacto de proveedor con id=122

curl -u 03334b0a261a2c355ae2db022a963d8e:x https://[ACCOUNT_NAME].facturadirecta.com/api/providers/contacts/122.xml

RESPUESTA SATISFACTORIA

<?xml version="1.0" encoding="UTF-8"?>
<contact>
    <id>122</id>
    <company>
        <id>98</id>
        <name><![CDATA[Nombre de la compañía asociada al contacto]]></name>
        <taxCode>12345678N</taxCode>
    </company>
    <name>Pedro</name>
    <surname>Martinez Soria</surname>
    <role>Gerente</role>
    <email>correo@facturadirecta.com</email>
    <phone>555010203</phone>
    <mobilePhone>666010203</mobilePhone>
</contact>

RESPUESTA DE ERROR (no encontrado)

<?xml version="1.0" encoding="UTF-8"?>
<xml>
    <httpStatus>404</httpStatus>
</xml>

PUT /api/providers/contacts/#{id}.xml

Modificar un contacto existente

Ejemplo para actualizar un contacto de proveedor con id=122. Prácticamente todos los elementos son opcionales, y solo aquellos que estén presentes en el xml serán actualizados.

curl -u 03334b0a261a2c355ae2db022a963d8e:x -X PUT -H 'Accept: application/xml' -H 'Content-Type: application/xml'
-d "<?xml version='1.0' encoding='UTF-8'?>
<contact>
    <id>114</id>
    <company><id>98</id></company>
    <name>Nombre del contacto</name>
    <surname>Apellido del contacto</surname>
    <role>Rol del contacto en la empresa</role>
    <email>correo@facturadirecta.com</email>
    <phone>555010203</phone>
    <mobilePhone>666010203</mobilePhone>
</contact>"
https://[ACCOUNT_NAME].facturadirecta.com/api/providers/contacts/122.xml

POST /api/providers/contacts.xml

Crear un nuevo contacto

curl -u 03334b0a261a2c355ae2db022a963d8e:x -X POST -H 'Accept: application/xml' -H 'Content-Type: application/xml'
-d "<?xml version='1.0' encoding='UTF-8'?>
<contact>
    <company>
        <id>98</id>
    </company>
    <name>Pedro</name>
    <surname>Martinez Soria</surname>
    <role>Gerente</role>
    <email>correo@facturadirecta.com</email>
    <phone>555010203</phone>
    <mobilePhone>666010203</mobilePhone>
</contact>"
https://[ACCOUNT_NAME].facturadirecta.com/api/providers/contacts.xml

RESPUESTA SATISFACTORIA

<?xml version="1.0" encoding="UTF-8"?>
<contact>
    <id>122</id>
    <company>
        <id>98</id>
        <name><![CDATA[Nombre de la compañía asociada al contacto]]></name>
        <taxCode>12345678N</taxCode>
    </company>
    <name>Pedro</name>
    <surname>Martinez Soria</surname>
    <role>Gerente</role>
    <email>correo@facturadirecta.com</email>
    <phone>555010203</phone>
    <mobilePhone>666010203</mobilePhone>
</contact>

RESPUESTA DE ERROR

<?xml version="1.0" encoding="UTF-8"?>
<xml>
    <httpStatus>400</httpStatus>
</xml>

DELETE /api/providers/contacts/#{id}.xml

Eliminar un contacto existente

Ejemplo para eliminar un contacto de proveedor con id=114

curl -u 03334b0a261a2c355ae2db022a963d8e:x -X DELETE https://[ACCOUNT_NAME].facturadirecta.com/api/providers/contacts/122.xml

RESPUESTA SATISFACTORIA

<?xml version="1.0" encoding="UTF-8"?>
<xml>
    <httpStatus>200</httpStatus>
</xml>

RESPUESTA DE ERROR (no encontrado)

<?xml version="1.0" encoding="UTF-8"?>
<xml>
    <httpStatus>404</httpStatus>
</xml>

PUT /api/providers/contacts.xml

Obtener la plantilla xml de nuevo contacto

curl -u 03334b0a261a2c355ae2db022a963d8e:x -X PUT https://[ACCOUNT_NAME].facturadirecta.com/api/providers/contacts.xml