Devis
Obtenir des devis
GET /estimates/estimates[/status/#{status}][/start_date/#{start_date}][/end_date/#{end_date}][/clients/#{clients}][/tags/#{tags}][/number/#{number}][/amount_total_operator/#{amount_total_operator}][/amount_total/#{amount_total}][/currency/#{currency}][/user/#{user_id}]
Arguments de l'URI
Argument | Type | Requis | Valeur/Description |
---|---|---|---|
status | string | Un ou des statuts à filtrer. Vous pouvez passer plusieurs statuts en même temps en les séparant par ":". Par exemple : /status/draft:sent:unsigned Voir les valeurs possibles de status. |
|
start_date | date | Si l'argument n'est pas renseigné, la valeur par défaut est le premier jour du mois courant. | |
end_date | date | Si l'argument n'est pas renseigné, la valeur par défaut est le dernier jour du mois courant. | |
clients | string | Un ou des clients à filtrer. Vous pouvez passer plusieurs clients en même temps en les séparant par ":". Par exemple : /clients/Client%20Name:Another%20Client%20Name |
|
tags | string | Un ou des tags à filtrer. Vous pouvez passer plusieurs tags en même temps en les séparant par ":". Par exemple : /tags/Tag%201:Tag%202 |
|
number | string | Tout ou partie d'un numéro de devis à filtrer (équivalent à la fonction MySQL "LIKE '#{number}%'". | |
amount_total_operator | string | Voir les valeurs possibles de operator. | |
amount_total | double | Un montant total. | |
currency | string | Voir les valeurs possibles de currency. | |
user | integer | Le #{user_id} de l'utilisateur pour lequel filtrer les résultats. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X GET https://#{subdomain}.iscriba.com/api/estimates/estimates/status/draft:sent/currency/EUR
Exemple de réponse XML
HTTP Status: 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <estimates> <estimate> <estimate_id>6</estimate_id> <company_name>Company Name</company_name> <client_id>15</client_id> <estimate_number>D10110001</estimate_number> <date_estimate>2010-11-25</date_estimate> <related_purchaseorder_id></related_purchaseorder_id> <invoice_number></invoice_number> <related_invoice_id></related_invoice_id> <related_invoice_status></related_invoice_status> <validity_base>2010-11-25</validity_base> <validity>15</validity> <total>142.97</total><!-- Total HT --> <grand_total>171</grand_total><!-- Total TTC --> <currency>EUR</currency> <status>draft</status> <status_extra>auto</status_extra> </estimate> <estimate> ... </estimate> </estimates> </xml>Haut
Obtenir un devis
GET /estimates/estimate/id/#{estimate_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{estimate_id} du devis 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/estimates/estimate/id/5
Exemple de réponse XML
HTTP Status: 200 OK
<xml> <estimate> <estimate_id>5</estimate_id> <user_id>1</user_id> <company_id>1</company_id> <company_name>Company Name</company_name> <summary></summary> <client_id>2</client_id> <client_name>Client Name</client_name> <client_language>french</client_language> <client_tax_id>FR12123123123</client_tax_id> <estimate_number>D10090005</estimate_number> <date_creation>2010-09-29 15:03:17</date_creation> <date_estimate>2010-09-29</date_estimate> <total>600</total><!-- Total HT --> <global_discount_total>0</global_discount_total> <global_discount_percentage>0</global_discount_percentage> <sub_total>600</sub_total><!-- Sous-total HT --> <tax_total>117.6</tax_total> <alt_tax_total>0</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>717.6</grand_total><!-- Total TTC --> <currency>EUR</currency> <terms>0</terms> <custom_terms></custom_terms> <due_date>2010-09-29</due_date> <payment>VIR</payment> <payment_specified></payment_specified> <late_fee>0</late_fee> <late_fee_specified>0</late_fee_specified> <billing_address> <name>Client Name</name> <address1></address1> <address2></address2> <address3></address3> <address4></address4> <city></city> <state></state> <postalcode></postalcode> <country></country> </billing_address> <validity_base>2010-09-29</validity_base><!-- date à utiliser pour le calcul de la validité --> <validity>15</validity> <introductory_text></introductory_text> <terms_of_agreement></terms_of_agreement> <status>unsigned</status> <status_extra>auto</status_extra><!-- si "status" vaut "unsigned" et "status_extra" vaut "auto", cela signifie que le devis a le statut "expiré", sinon le statut est "non signé" quand status_extra vaut "manual" --> <lines> <line> <item_id>3</item_id> <line_id>8</line_id> <line_number>1</line_number> <kind>1</kind> <qty>3</qty> <description>Lorem ipsum dolor sit amet</description> <tax_percentage>19.6</tax_percentage> <alt_tax_percentage>0</alt_tax_percentage> <unit_price>200</unit_price> <reduction_percentage>0</reduction_percentage> </line> </lines> </estimate> </xml>Haut
Obtenir un devis au format PDF
GET /estimates/estimate/id/#{estimate_id}/format/pdf
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{estimate_id} du devis 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/estimates/estimate/id/5/format/pdf
Exemple de réponse XML
HTTP Status: 200 OK
Content-Type: application/pdf
%PDF-1.4
...
%%EOF
Haut
Créer un devis
POST /estimates/estimate
Champs de la requête
Champ | Type | Requis | Description |
---|---|---|---|
date | date | oui | Date du devis. Ne peut pas être antérieur à la date du dernier devis créé. |
client_id | integer | oui | Le #{client_id} de la société pour laquelle vous créez le devis. |
summary | string | Un résumé du devis (pour usage interne). | |
currency | string | Monnaie du devis. La valeur par défaut est celle des paramètres de votre compte. Voir les valeurs possibles de currency. | |
address | array | Ce champ sert à personnaliser l'adresse de facturation. Si vous ne le transmettez pas, l'adresse par défaut du client est utilisée. | |
address[address1] | string | Ligne d'adresse 1. | |
address[address2] | string | Ligne d'adresse 2. | |
address[address3] | string | Ligne d'adresse 3. | |
address[address4] | string | Ligne d'adresse 4. | |
address[city] | string | Ville. | |
address[state] | string | Région/Etat. | |
address[postalcode] | string | Code postal. | |
address[country] | string | Pays. Voir les valeurs possibles de country. | |
validity | integer | Un nombre de jours pour déterminer la durée de validité du devis. La valeur par défaut est celle des paramètres de votre compte. | |
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. | |
introductory_text | string | Utilisez ce champ pour ajouter une introduction à votre devis. Ce champ n'apparait pas sur le document si vous le laissez vide. | |
lines | array | oui (au moins une ligne) | Les lignes du devis. |
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. | |
terms_of_agreement | string | Utilisez ce champ pour ajouter des conditions d'accord au devis. Ce champ n'apparait pas sur le document si vous le laissez vide. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -d "date=2010-11-08&client_id=14¤cy=EUR&address[address1]=Ligne d'adresse 1&address[address2]=Ligne d'addresse 2&address[city]=Ville&address[postalcode]=01234&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 devis 1&lines[0][unit_price]=10&lines[0][qty]=1&lines[1][description]=Ligne de devis 2&lines[1][unit_price]=20&lines[1][qty]=2"\ https://#{subdomain}.iscriba.com/api/estimates/estimate
Exemple de réponse XML
HTTP Status: 201 Created
<?xml version="1.0" encoding="utf-8"?> <xml> <estimate_id>1</estimate_id> </xml>Haut
Modifier un devis
PUT /estimates/estimate/id/#{estimate_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{estimate_id} du devis que vous souhaitez modifier. |
Champs de la requête
Identiques à créer un devis 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 "introductory_text=Lorem ipsum dolor sit amet"\ https://#{subdomain}.iscriba.com/api/estimates/estimate/id/1
Exemple de réponse XML
HTTP Response: 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <estimate_id>1</estimate_id> </xml>Haut
Mettre à jour le statut d'un devis
PUT /estimates/estimate_status/id/#{estimate_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{estimate_id} du devis dont vous souhaitez modifier le statut. |
Champs de la requête
Champ | Type | Requis | Description |
---|---|---|---|
status | string | oui |
Voir les valeurs possibles de status.
"signed" générera automatiquement un bon de commande lié au devis, iScriba fournira l'id du bon de commande généré dans la réponse. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X PUT\ -d "status=signed"\ https://#{subdomain}.iscriba.com/api/estimates/estimate_status/id/1
Exemple de réponse XML
HTTP Response: 200 OK
<?xml version="1.0" encoding="utf-8"?>
<xml>
<estimate>
<id>1</id>
<status>signed</status>
<purchaseorder_id>5</purchaseorder_id><!-- ce noeud est présent uniquement lorsque le nouveau statut est "signed" -->
</estimate>
</xml>
Haut
Supprimer un devis
DELETE /estimates/estimate/id/#{estimate_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{estimate_id} du devis 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/estimates/estimate/id/1
Exemple de réponse XML
HTTP Response: 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <estimate_id>1</estimate_id> </xml>Haut
Obtenir les commentaires liés à un devis
GET /estimates/estimate_related_comments/id/#{estimate_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{estimate_id} du devis dont vous souhaitez obtenir les commentaires liés. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X GET https://#{subdomain}.iscriba.com/api/estimates/estimate_related_comments/id/19
Exemple de réponse XML
HTTP Status: 200 OK
<?xml version="1.0" encoding="utf-8"?>
<xml>
<estimate_related_comments>
<estimate_related_comment>
<comment_id>13</comment_id>
<estimate_id>19</estimate_id>
<user_id>1</user_id>
<firstname>John</firstname>
<lastname>Doe</lastname>
<title></title>
<subtitle></subtitle>
<content>Lorem ipsum dolor sit amet.</content>
<date>2010-12-23</date>
<type>post</type>
<is_public>0</is_public>
</estimate_related_comment>
<estimate_related_comment>
...
</estimate_related_comment>
</estimate_related_comments>
</xml>
Haut
Créer un commentaire lié à un devis
POST /estimates/estimate_related_comment
Champs de la requête
Champ | Type | Requis | Description |
---|---|---|---|
estimate_id | integer | oui | Le #{estimate_id} du devis auquel sera lié le commentaire. |
content | string | oui | Le contenu du commentaire (seul le texte brut est autorisé). |
is_public | boolean | Défini si le commentaire est visible par le client. La valeur par défaut est TRUE (le commentaire est public). |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -d "estimate_id=10&content=Lorem ipsum dolor sit amet.&is_public=0"\ https://#{subdomain}.iscriba.com/api/estimates/estimate_related_comment
Exemple de réponse XML
HTTP Status: 201 Created
<?xml version="1.0" encoding="utf-8"?> <xml> <comment_id>1</comment_id> </xml>Haut
Supprimer un commentaire lié à un devis
DELETE /estimates/estimate_related_comment/id/#{comment_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{comment_id} du commentaire 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/estimates/estimate_related_comment/id/1
Exemple de réponse XML
HTTP Response: 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <comment_id>1</comment_id> </xml>Haut
Obtenir les documents liés à un devis
GET /estimates/estimate_related_documents/id/#{estimate_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{estimate_id} du devis dont vous souhaitez obtenir les documents liés. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X GET https://#{subdomain}.iscriba.com/api/estimates/estimate_related_documents/id/19
Exemple de réponse XML
HTTP Status: 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <estimate_related_documents> <estimate_related_document> <id>4</id> <number>BC10090004</number> <date_creation>2010-09-29 15:03:25</date_creation> <date>2010-09-29</date> <total>717.6</total><!-- Total TTC --> <currency>EUR</currency> <type></type> <kind>purchaseorder</kind> <status>draft</status> </estimate_related_document> <estimate_related_document> ... </estimate_related_document> </estimate_related_documents> </xml>Haut
Obtenir les tags liés à un devis
GET /estimates/estimate_related_tags/id/#{estimate_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
id | integer | oui | Le #{estimate_id} du devis dont vous souhaitez obtenir les tags liés. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X GET https://#{subdomain}.iscriba.com/api/estimates/estimate_related_tags/id/19
Exemple de réponse XML
HTTP Status: 200 OK
<?xml version="1.0" encoding="utf-8"?>
<xml>
<estimate_related_tags>
<estimate_related_tag>
<tag_id>5</tag_id>
<tag_name>lorem</tag_name>
</estimate_related_tag>
<estimate_related_tag>
...
</estimate_related_tag>
</estimate_related_tags>
</xml>
Haut
Créer un tag lié à un devis
POST /estimates/estimate_related_tag
Champs de la requête
Champ | Type | Requis | Description |
---|---|---|---|
estimate_id | integer | oui | Le #{estimate_id} du devis auquel sera lié le tag. |
tag | string | oui | Le nom du tag. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -d "estimate_id=10&tag=Votre-tag"\ https://#{subdomain}.iscriba.com/api/estimates/estimate_related_tag
Exemple de réponse XML
HTTP Status: 201 Created
<?xml version="1.0" encoding="utf-8"?> <xml> <tag_id>1</tag_id> </xml>Haut
Supprimer un tag lié à un devis
DELETE /estimates/estimate_related_tag/estimate_id/#{estimate_id}/tag_id/#{tag_id}
Arguments de l'URI
Argument | Type | Requis | Valeur |
---|---|---|---|
estimate_id | integer | oui | Le #{estimate_id} du devis auquel est associé le tag. |
tag_id | integer | oui | Le #{tag_id} du tag lié au devis. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -X DELETE https://#{subdomain}.iscriba.com/api/estimates/estimate_related_tag/estimate_id/1/tag_id/1
Exemple de réponse XML
HTTP Response: 200 OK
<?xml version="1.0" encoding="utf-8"?> <xml> <tag_id>1</tag_id> </xml>Haut
Créer une facture unique à partir d'un devis
POST /estimates/estimate_to_invoice
Champs de la requête
Champ | Type | Requis | Description |
---|---|---|---|
estimate_id | integer | oui | Le #{estimate_id} du devis à partir duquel la facture sera créée. |
date | date | oui | Date de la facture. Ne peut pas être antérieur à la date de la dernière facture créée. |
notes | string | Les notes que vous souhaitez ajouter à la facture (toutes les notes apparaissent sur le document). | |
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. |
Exemple de requête avec cURL
curl -u #:#{password}'\ -H 'User-Agent: #{user_agent}'\ -d "estimate_id=10&date=2011-01-01"\ https://#{subdomain}.iscriba.com/api/estimates/estimate_to_invoice
Exemple de réponse XML
HTTP Status: 201 Created
<?xml version="1.0" encoding="utf-8"?> <xml> <invoice_id>1</invoice_id> </xml>Haut