Listar contratos
Asegúrate de tener claros los requisitos de la API REST de Tractis antes de empezar la integración.
Descripción
Esta acción permite ver los contratos (borradores y firmados) que tenemos en nuestra cuenta.
La acción se invoca con: GET /contracts
Los resultados vienen paginados según la información que viene en la raíz del resultado:
- total_items: cantidad de contratos en todas las páginas.
- pages: cantidad de páginas en las que se reparten los contratos.
- per_page: cantidad de contratos por página.
- page: el número de la página que se ha mostrado.
Parámetros
Esta acción permite una serie de parámetros GET para navegar por los contratos paginados y filtrar los contratos por tags.
Parámetro | Descripción |
---|---|
page |
Número de la página que queremos ver. |
per_page |
Cantidad de contratos por página. |
tag |
Tag por el que filtraremos la lista de contratos. Opcionalmente podemos poner una lista de tags separadas por comas y se listarán todos los contratos con alguno de esos tags. |
Ejemplos de invocación
Hemos recortado parte de la información para simplificar los ejemplos y hacerlo más manejables.
Petición básica:
$ curl -u demo@tractis.com:password \
-H 'Accept: application/xml' \
-i -X GET https://www.tractis.com/contracts
HTTP/1.1 200 OK
Status: 200 OK
Content-Type: application/xml; charset=utf-8
<?xml version="1.0" encoding="UTF-8"?>
<contracts total_items="17" pages="1" page="1" per_page="25">
<contract>
<id type="integer">101983820</id>
<name>Contrato de trabajo de perico</name>
<tag-list>contrato de trabajo, perico de los palotes, tractis</tag-list>
(...)
</contract>
<contract>
<id type="integer">370818537</id>
<name>Presupuesto de proyecto para la empresa cualquiera</name>
<tag-list>presupuesto, cualquiera</tag-list>
(...)
</contract>
<contract>
<id type="integer">168517595</id>
<name>Contrato de trabajo de ernesto jiménez</name>
<tag-list>contrato de trabajo, ernesto jiménez, tractis</tag-list>
(...)
</contract>
<contract>
<id type="integer">677558094</id>
<name>Contrato de trabajo de perico</name>
<tag-list>contrato de trabajo, perico de los palotes, acme</tag-list>
(...)
</contract>
(...)
</contracts>
Ver la página dos con tres contratos por página.
$ curl -u demo@tractis.com:password \
-H 'Accept: application/xml' \
-i -X GET "https://www.tractis.com/contracts?per_page=3&page=2"
HTTP/1.1 200 OK
Status: 200 OK
Content-Type: application/xml; charset=utf-8
<?xml version="1.0" encoding="UTF-8"?>
<contracts total_items="17" pages="6" page="2" per_page="3">
<contract>
<id type="integer">677558094</id>
<name>Contrato de trabajo de perico</name>
<tag-list>contrato de trabajo, perico de los palotes, acme</tag-list>
(...)
</contract>
<contract>
<id type="integer">237943589</id>
<name>Contrato de trabajo de john</name>
<tag-list>contrato de trabajo, john doe, negonation</tag-list>
(...)
</contract>
<contract>
<id type="integer">204501658</id>
<name>Contrato de trabajo de ernesto jiménez</name>
<tag-list>contrato de trabajo, ernesto jiménez, acme</tag-list>
(...)
</contract>
</contracts>
Listar todos los contratos con el tag “tractis”, con una limitación de dos contratos por página.
$ curl -u demo@tractis.com:password \
-H 'Accept: application/xml' \
-i -X GET "https://www.tractis.com/contracts?per_page=3&tag=tractis"
HTTP/1.1 200 OK
Status: 200 OK
Content-Type: application/xml; charset=utf-8
<?xml version="1.0" encoding="UTF-8"?>
<contracts total_items="6" pages="3" page="1" per_page="2">
<contract>
<id type="integer">101983820</id>
<name>Contrato de trabajo de perico</name>
<tag-list>contrato de trabajo, perico de los palotes, tractis</tag-list>
(...)
</contract>
<contract>
<id type="integer">168517595</id>
<name>Contrato de trabajo de ernesto jiménez</name>
<tag-list>contrato de trabajo, ernesto jiménez, tractis</tag-list>
(...)
</contract>
</contracts>
Listar todos los contratos con el tag “john doe” o “ernesto jiménez”, con una limitación de dos contratos por página.
$ curl -u demo@tractis.com:password \
-H 'Accept: application/xml' \
-i -X GET "https://www.tractis.com/contracts?per_page=3&tag=john+doe,ernesto+jiménez"
HTTP/1.1 200 OK
Status: 200 OK
Content-Type: application/xml; charset=utf-8
<?xml version="1.0" encoding="UTF-8"?>
<contracts total_items="10" pages="5" page="1" per_page="2">
<contract>
<id type="integer">168517595</id>
<name>Contrato de trabajo de ernesto jiménez</name>
<tag-list>contrato de trabajo, ernesto jiménez, tractis</tag-list>
(...)
</contract>
<contract>
<id type="integer">237943589</id>
<name>Contrato de trabajo de john</name>
<tag-list>contrato de trabajo, john doe, negonation</tag-list>
(...)
</contract>
</contracts>