Factures périodiques
Obtenir des modèles de factures périodiques
GET /recurring/templates[/frequency/#{frequency}][/name/#{name}][/grand_total_operator/#{grand_total_operator}][/grand_total/#{grand_total}][/recurring_total_operator/#{recurring_total_operator}][/recurring_total/#{recurring_total}]
Arguments de l'URI
Argument | Type | Requis | Valeur/Description |
---|---|---|---|
frequency | string | Une fréquence de périodicité à filtrer. Voir les valeurs possibles de frequency. | |
name | string | Un nom de modèle de facture périodique. | |
grand_total_operator | string | Voir les valeurs possibles de operator. | |
grand_total | double | Un montant total. | |
recurring_total_operator | string | Voir les valeurs possibles de operator. | |
recurring_total | double | Un montant total récurrent. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X GET https://#{subdomain}.iscriba.com/api/recurring/templates
Exemple de réponse XML
HTTP Status : 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <templates> <template> <template_id>3</template_id> <template_name>Template Name</template_name> <summary></summary> <currency>EUR</currency> <grand_total>847.75</grand_total><!-- Total TTC --> <frequency>monthly</frequency> <frequency_specified>0</frequency_specified> <total_schedules>2</total_schedules> </template> <template> ... </template> </templates> </xml>Haut
Obtenir un modèle de facture périodique
GET /recurring/template/id/#{template_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{template_id} du modèle de facture périodique que vous souhaitez obtenir. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X GET https://#{subdomain}.iscriba.com/api/recurring/template/id/1
Exemple de réponse XML
HTTP Status : 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <template> <template_id>1</template_id> <user_id>1</user_id> <template_name>Template Name</template_name> <summary></summary> <currency>EUR</currency> <total>710</total><!-- Total HT --> <global_discount_total>0</global_discount_total> <global_discount_percentage>0</global_discount_percentage> <sub_total>710</sub_total> <tax_total>137.2</tax_total> <alt_tax_total>0.55</alt_tax_total> <tax_name>TVA</tax_name> <tax_percentage>19.6</tax_percentage> <alt_tax_name>TVA</alt_tax_name> <alt_tax_percentage>5.5</alt_tax_percentage> <use_tax_inclusive>0</use_tax_inclusive> <taxation_mode>simple</taxation_mode> <grand_total>847.75</grand_total><!-- Total TTC --> <terms>0</terms> <custom_terms></custom_terms> <payment>VIR</payment> <payment_specified></payment_specified> <late_fee>0</late_fee> <late_fee_specified>0</late_fee_specified> <notes></notes> <frequency>monthly</frequency> <frequency_specified>0</frequency_specified> <cc_tenant>1</cc_tenant> <attach_pdf>1</attach_pdf> <lines> <line> <line_id>5</line_id> <item_id>11</item_id> <line_number>1</line_number> <kind>4</kind> <qty>1</qty> <description>HTC Desire HD A9191 with HTC Sense</description> <tax_percentage>19.6</tax_percentage> <alt_tax_percentage>0</alt_tax_percentage> <unit_price>600</unit_price> <reduction_percentage>0</reduction_percentage> </line> <line> ... </line> </lines> </template> </xml>Haut
Créer un modèle de facture périodique
POST /recurring/template
Champs de la requête
Champ | Type | Requis | Description |
---|---|---|---|
template_name | string | oui | Nom du modèle. |
summary | string | Un résumé du modèle (pour usage interne). | |
currency | string | Monnaie de la facture. La valeur par défaut est celle des paramètres de votre compte. Voir les valeurs possibles de currency. | |
tax_name | string | Nom de la taxe. La valeur par défaut est celle des paramètres de votre compte. | |
tax_percentage | double | Pourçentage de taxe. La valeur par défaut est celle des paramètres de votre compte. | |
alt_tax_name | string | Nom de la taxe alternative. La valeur par défaut est celle des paramètres de votre compte. | |
alt_tax_percentage | double | Pourçentage de taxe alternative. La valeur par défaut est celle des paramètres de votre compte. | |
use_tax_inclusive | boolean | Défini si le prix unitaire des articles inclus la taxe. La valeur par défaut est celle des paramètres de votre compte. | |
taxation_mode | string | La valeur par défaut est celle des paramètres de votre compte. Pour appliquer les taxes de façon composée il faut préciser "compound". | |
global_discount_percentage | double | Pourçentage de remise globale. La valeur par défaut est 0. | |
terms | string | Conditions de règlement. La valeur par défaut est celle des paramètres de votre compte. Voir les valeurs possibles de terms. | |
payment | string | Mode de règlement. La valeur par défaut est celle des paramètres de votre compte. Voir les valeurs possibles de payment. | |
late_fee | double | Pourçentage d'intérêt de retard. La valeur par défaut est celle des paramètres de votre compte. Voir les valeurs possibles de late_fee. | |
lines | array | oui (au moins une ligne) | Les lignes de la facture. |
lines[#{key}][item_id] | integer | Le #{item_id} de l'article de l'inventaire associé à la ligne. S'il est renseigné, les champs description et unit_price ne sont plus requis. | |
lines[#{key}][kind] | integer | Type de la ligne. La valeur par défaut est "1" pour "Service". Voir les valeurs possibles de kind. |
|
lines[#{key}][qty] | double | Quantité d'articles. Vaut 1 par défaut. | |
lines[#{key}][description] | string | oui | Description de l'article. |
lines[#{key}][tax] | boolean | Appliquer la taxe. Vaut FALSE s'il n'est pas renseigné. | |
lines[#{key}][alt_tax] | boolean | Appliquer la taxe alternative. Vaut FALSE s'il n'est pas renseigné. | |
lines[#{key}][unit_price] | double | oui | Prix de l'article. |
lines[#{key}][reduction_percentage] | double | Pourçentage de remise sur la ligne. | |
notes | string | Les notes que vous souhaitez ajouter à la facture (toutes les notes apparaissent sur le document). La valeur par défaut est celle des paramètres de votre compte. | |
frequency | string | La fréquence d'envoi de la facture périodique. La valeur par défaut est "monthly" pour "tous les mois". Voir les valeurs possible de frequency. | |
cc_tenant | boolean | Met en copie le propriétaire du compte lorsque la facture périodique est envoyée. Vaut FALSE s'il n'est pas renseigné. | |
attach_pdf | boolean | Joindre le PDF lorsque la facture périodique est envoyée. Vaut FALSE s'il n'est pas renseigné. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -d "currency=EUR&tax_name=TVA&tax_percentage=19.6&alt_tax_name=TVA&alt_tax_percentage=5.5&taxation_mode=simple&global_discount_percentage=0&terms=30END&payment=VIR&late_fee=0&lines[0][description]=Ligne de facture périodique 1&lines[0][unit_price]=10&lines[0][qty]=1&lines[1][description]=Ligne de facture périodique 2&lines[1][unit_price]=20&lines[1][qty]=2¬es=Notes de la facture périodique&frequency=weekly&attach_pdf=1"\ https://#{subdomain}.iscriba.com/api/recurring/template
Exemple de réponse XML
HTTP Status: 201 Created
<?xml version="1.0" encoding="utf-8"?> <xml> <template_id>1</template_id> </xml>Haut
Modifier un modèle de facture périodique
PUT /recurring/template/id/#{template_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{template_id} du modèle de facture périodique que vous souhaitez modifier. |
Champs de la requête
Identiques à créer un modèle de facture périodique excepté qu'aucun champ n'est requis. Tous les champs non intégrés à la requête resteront inchangés.
Attention : pour les champs de type array, vous devez transmettre le tableau complet si vous souhaitez ajouter, modifier ou supprimer un élément du tableau.
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X PUT\ -d "frequency=yearly"\ https://#{subdomain}.iscriba.com/api/recurring/template/id/1
Exemple de réponse XML
HTTP Response: 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <template_id>1</template_id> </xml>Haut
Supprimer un modèle de facture périodique
DELETE /recurring/template/id/#{template_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{template_id} du modèle de facture périodique que vous souhaitez supprimer. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X DELETE https://#{subdomain}.iscriba.com/api/recurring/template/id/1
Exemple de réponse XML
HTTP Response: 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <template_id>1</template_id> </xml>Haut
Obtenir des programmations périodiques
GET /recurring/schedules/[/template_id/#{template_id}][/client_id/#{client_id}]
Arguments de l'URI
Argument | Type | Requis | Valeur/Description |
---|---|---|---|
template_id | integer | Le #{template_id} du modèle de facture périodique à filtrer. | |
client_id | integer | Le #{client_id} du client associé à filtrer. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X GET https://#{subdomain}.iscriba.com/api/recurring/schedules/template_id/9
Exemple de réponse XML
HTTP Status: 200 OK
<?xml version="1.0" encoding="utf-8"?>
<xml>
<schedules>
<schedule>
<schedule_id>4</schedule_id>
<template_id>9</template_id>
<client_id>26</client_id>
<client_name>Client Name</client_name>
<recipients>
<recipient>37</recipient>
<recipient>38</recipient>
</recipients>
<start_billing_on>2011-01-31</start_billing_on>
<stop_billing_on>0000-00-00</stop_billing_on>
<occurrences>0</occurrences>
<occurrences_past>1</occurrences_past>
<last_run>2011-02-02</last_run>
</schedule>
<schedule>
...
</schedule>
</schedules>
</xml>
Haut
Obtenir une programmation périodique
GET /recurring/schedule/id/#{schedule_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{schedule_id} de la programmation périodique que vous souhaitez obtenir. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X GET https://#{subdomain}.iscriba.com/api/recurring/schedule/id/1
Exemples de réponse XML
HTTP Status: 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <schedule> <schedule_id>2</schedule_id> <template_id>3</template_id> <client_id>26</client_id> <client_name>Client Name</client_name> <recipients> <recipient>37</recipient> </recipients> <start_billing_on>2011-01-25</start_billing_on> <stop_billing_on>0000-00-00</stop_billing_on> <occurrences>0</occurrences> <occurrences_past>2</occurrences_past> <last_run>2011-03-10</last_run> </schedule> </xml>Haut
Créer une programmation périodique
POST /recurring/schedule
Champs de la requête
Champ | Type | Requis | Description |
---|---|---|---|
template_id | integer | oui | Le #{template_id} du modèle de facture périodique lié à la programmation périodique. |
client_id | integer | oui | Le #{client_id} de la société pour laquelle vous créez la programmation périodique. |
recipients | array | Les destinataires de la facture qui sera générée périodiquement. | |
recipients[#{key}] | integer | Le #{user_id} d'un utilisateur qui recevra la facture. | |
start_billing_on | string | oui | La date à laquelle commencer à générer la facture périodique. Ne peut pas être antérieur à la date courante. |
stop_billing_on | string | La date à laquelle arrêter de générer la facture périodique. Ne peut pas être antérieur à la date courante. | |
occurrences | integer | Le nombre d'occurences avant d'arrêter de générer la facture périodique. |
- Si
stop_billing_on
etoccurrences
ne sont pas renseignés, la programmation périodique est illimitée. - Si
stop_billing_on
est renseigné, la programmation périodique s'arrête à la date indiquée. - Si
occurrences
est renseigné, la programmation périodique s'arrête après le nombre d'occurrences indiquées.
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -d "template_id=1&client_id=12&recipients[0]=5&recipients[1]=8&start_billing_on=2011-03-14&occurrences=6"\ https://#{subdomain}.iscriba.com/api/recurring/schedule
Exemple de réponse XML
HTTP Status: 201 Created
<?xml version="1.0" encoding="utf-8"?> <xml> <schedule_id>1</schedule_id> </xml>Haut
Modifier une programmation périodique
PUT /recurring/schedule/id/#{schedule_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{schedule_id} de la programmation périodique que vous souhaitez modifier. |
Champs de la requête
Identiques à créer une programmation périodique excepté qu'aucun champ n'est requis. Tous les champs non intégrés à la requête resteront inchangés. Les champs date et client_id ne sont pas pris en compte.
Attention : pour les champs de type array, vous devez transmettre le tableau complet si vous souhaitez ajouter, modifier ou supprimer un élément du tableau.
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X PUT\ -d "recipients[0]=38"\ https://#{subdomain}.iscriba.com/api/recurring/schedule/id/1
Exemple de réponse XML
HTTP Response: 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <schedule_id>1</schedule_id> </xml>Haut
Supprimer une programmation périodique
DELETE /recurring/schedule/id/#{schedule_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{schedule_id} de la programmation périodique que vous souhaitez supprimer. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X DELETE https://#{subdomain}.iscriba.com/api/recurring/schedule/id/1
Exemple de réponse XML
HTTP Response: 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <schedule_id>1</schedule_id> </xml>Haut