API-V2

Application Programming Interface

InvoiceXpress Documentation

Update

PUT /taxes/:tax-id.json

Updates a tax.

Example Request

curl

curl --request PUT \
  --url 'https://account_name.app.invoicexpress.com/taxes/:tax-id.json?api_key=YOUR%20API%20KEY%20HERE' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"tax":{"name":"IVA23","value":"23.0","region":"PT","default_tax":"1"}}'

Ruby

require 'uri'
require 'net/http'

url = URI("https://account_name.app.invoicexpress.com/taxes/:tax-id.json?api_key=YOUR%20API%20KEY%20HERE")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Put.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"tax\":{\"name\":\"IVA23\",\"value\":\"23.0\",\"region\":\"PT\",\"default_tax\":\"1\"}}"

response = http.request(request)
puts response.read_body

Node

var http = require("https");

var options = {
  "method": "PUT",
  "hostname": "account_name.app.invoicexpress.com",
  "port": null,
  "path": "/taxes/:tax-id.json?api_key=YOUR%20API%20KEY%20HERE",
  "headers": {
    "accept": "application/json",
    "content-type": "application/json"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({ tax: { name: 'IVA23', value: '23.0', region: 'PT', default_tax: '1' } }));
req.end();

Python

import http.client

conn = http.client.HTTPSConnection("account_name.app.invoicexpress.com")

payload = "{\"tax\":{\"name\":\"IVA23\",\"value\":\"23.0\",\"region\":\"PT\",\"default_tax\":\"1\"}}"

headers = {
    'accept': "application/json",
    'content-type': "application/json"
    }

conn.request("PUT", "/taxes/:tax-id.json?api_key=YOUR%20API%20KEY%20HERE", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))

PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://account_name.app.invoicexpress.com/taxes/:tax-id.json?api_key=YOUR%20API%20KEY%20HERE",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => "{\"tax\":{\"name\":\"IVA23\",\"value\":\"23.0\",\"region\":\"PT\",\"default_tax\":\"1\"}}",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "content-type: application/json"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

Go

package main

import (
    "fmt"
    "strings"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://account_name.app.invoicexpress.com/taxes/:tax-id.json?api_key=YOUR%20API%20KEY%20HERE"

    payload := strings.NewReader("{\"tax\":{\"name\":\"IVA23\",\"value\":\"23.0\",\"region\":\"PT\",\"default_tax\":\"1\"}}")

    req, _ := http.NewRequest("PUT", url, payload)

    req.Header.Add("accept", "application/json")
    req.Header.Add("content-type", "application/json")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}

Query Parameters

NameTypeRequiredDescriptionExample
tax-idIntegerRequiredThe ID of the tax to be updated.42

Request Body Parameters

NameTypeRequiredDescription
taxObjectRequiredTax data to be updated.
nameStringRequiredTax name
valueStringRequiredTax value (%)
regionStringDependsTax region. This parameter is required to export SAF-T PT. When this element is present, it’s value can’t be blank. It must match one of these options: PT (Portugal – Continental), PT-AC (Portugal – Açores), PT-MA (Portugal – Madeira), Desconhecido (Unknown), or country codes. Please refer to the Taxes Country Codes for the complete list of “Country Codes”.
codeStringDependsTax code. When this element is present, it’s value can’t be blank. It must match one of these options: NOR (Normal tax rate), INT (Intermediate tax rate), RED (Reduced tax rate), OUT (Other tax rate), ISE (Exempt tax rate).
default_taxIntegerIf “1”, the tax is chosen as the default tax on your account. Any other value is ignored.

Example Request Body

{
  "tax": {
    "name": "IVA23",
    "value": "23.0",
    "region": "PT",
    "code": "NOR",
    "default_tax": "1"
  }
}

Responses

200SUCCESS(Empty Response)
401ACCESS DENIED
The API Key parameter is missing or is incorrectly entered.
(Empty Response)
404NOT FOUND
No sequence matches the supplied tax-id.
(Empty Response)
422UNPROCESSABLE ENTITY
Some parameters were incorrect.
(Empty Response)