API-v2

Application Programming Interface

InvoiceXpress Documentation



At Communication


POST /api/v3/accounts/at_communication.json

Update or create at user, at password and communication type.

Example Request

curl

curl --request POST \
  --url 'https://account_name.app.invoicexpress.com/api/v3/accounts/at_communication.json?api_key=YOUR%20API%20KEY%20HERE' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"at_communication":{"at_subuser":"12345689/0","at_password":"cGFzc3dvcmQ=","communication_type":"auto"}}'

Ruby

require 'uri'
require 'net/http'

url = URI("https://account_name.app.invoicexpress.com/api/v3/accounts/at_communication.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::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"at_communication\":\{\"at_subuser\":\"12345689/0\",\"at_password\":\"cGFzc3dvcmQ=\",\"communication_type\":\"auto\"}}"


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

Node

var http = require("https");

var options = {
  "method": "POST",
  "hostname": "account_name.app.invoicexpress.com",
  "port": null,
  "path": "/api/v3/accounts/at_communication.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({
  at_communication: {
    at_subuser: '123456789/3',
    at_password: 'cGFzc3dvcmQ=',
    communication_type: 'auto'
  }
}));
req.end();

Python

import http.client

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

payload = "{\"at_communication\":\{\"at_subuser\":\"12345689/0\",\"at_password\":\"cGFzc3dvcmQ=\",\"communication_type\":\"auto\"}}"

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

conn.request("POST", "/api/v3/accounts/at_communication.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/api/v3/accounts/at_communication.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 => "POST",
  CURLOPT_POSTFIELDS => ""{\"at_communication\":\{\"at_subuser\":\"12345689/0\",\"at_password\":\"cGFzc3dvcmQ=\",\"communication_type\":\"auto\"}}",
  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/api/v3/accounts/at_communication.json?api_key=YOUR%20API%20KEY%20HERE"

    payload := strings.NewReader("{\"at_communication\":\{\"at_subuser\":\"12345689/0\",\"at_password\":\"cGFzc3dvcmQ=\",\"communication_type\":\"auto\"}}")

    req, _ := http.NewRequest("POST", 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))

}

Request Body

Name Type Required Description
at_subuser String Required AT subuser, ust be in the format 123456789/X.
Regex: (^\d{9}/).
at_password String Required AT password. Must be encoded in Base64.
communication_type String Required Communication type can be auto, guides, manual or portal_at.

Example Request Body

{
  "at_communication": {
    "at_subuser": "123456789/3",
    "at_password": "cGFzc3dvcmQ=",
    "communication_type": "auto"
  }
}

Responses

200 SUCCESS success
401 ACCESS DENIED
The API Key parameter is missing or is incorrectly entered.
(Empty Response)
422 UNPROCESSABLE ENTITY
Some parameters were incorrect.
(Empty Response)

Example Success Body Response

{
  "success": "true"
}