Conexio vitrine du développeur

API Autotask — produits

Lire, créer et modifier les produits de Autotask depuis votre application, par une simple requête HTTP : pas de SDK, pas d’ODBC. Conexio relaie l’appel vers Autotask et vous répond en JSON — entité Product.

✓ Lire (GET)✓ Créer (POST)✓ Modifier (PUT)

Lire les produits

Une requête GET sur /api/Entity/Product, avec les modificateurs $select, $filter et $top. L’en-tête ALLOW_PAGINATION renvoie { Data, ResultsCount, TotalCount }.

HTTP
GET https://gateway.conexio.dev/api/Entity/Product?$select=NoProduit,NoUniqueSystemeExterne,NomProduit,Description,EstActif&$filter=NoProduit eq 'VALEUR'&$top=10
Authorization: Basic base64(CODE_LICENCE:CLE_API)
COMPANY_CODE: VOTRE_COMPAGNIE
ALLOW_PAGINATION: true
curl
curl 'https://gateway.conexio.dev/api/Entity/Product?$select=NoProduit,NoUniqueSystemeExterne,NomProduit,Description,EstActif&$filter=NoProduit%20eq%20'VALEUR'&$top=10' \
  -u "$CONEXIO_LICENCE:$CONEXIO_API_KEY" \
  -H 'COMPANY_CODE: VOTRE_COMPAGNIE' \
  -H 'ALLOW_PAGINATION: true'
JavaScript (fetch)
const response = await fetch("https://gateway.conexio.dev/api/Entity/Product?$select=NoProduit,NoUniqueSystemeExterne,NomProduit,Description,EstActif&$filter=NoProduit%20eq%20'VALEUR'&$top=10", {
  headers: {
    Authorization: "Basic " + btoa(`${CODE_LICENCE}:${CLE_API}`),
    COMPANY_CODE: "VOTRE_COMPAGNIE",
    ALLOW_PAGINATION: "true",
  },
})
const { Data, TotalCount } = await response.json()
C# et Python
C# (HttpClient)
var http = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://gateway.conexio.dev/api/Entity/Product?$select=NoProduit,NoUniqueSystemeExterne,NomProduit,Description,EstActif&$filter=NoProduit%20eq%20'VALEUR'&$top=10");
request.Headers.Authorization = new AuthenticationHeaderValue("Basic",
    Convert.ToBase64String(Encoding.UTF8.GetBytes($"{codeLicence}:{cleApi}")));
request.Headers.Add("COMPANY_CODE", "VOTRE_COMPAGNIE");
request.Headers.Add("ALLOW_PAGINATION", "true");
var json = await (await http.SendAsync(request)).Content.ReadAsStringAsync();
Python (requests)
import requests

response = requests.get(
    "https://gateway.conexio.dev/api/Entity/Product?$select=NoProduit,NoUniqueSystemeExterne,NomProduit,Description,EstActif&$filter=NoProduit%20eq%20'VALEUR'&$top=10",
    auth=(CODE_LICENCE, CLE_API),
    headers={"COMPANY_CODE": "VOTRE_COMPAGNIE", "ALLOW_PAGINATION": "true"},
)
data = response.json()["Data"]

Filtrer

Les champs filtrables de Product sur Autotask, et leurs opérateurs $filter :

ChampOpérateurs
NoProduiteq ne in contains
NoUniqueSystemeSourceeq ne in
NoUniqueSystemeExterneeq
NomProduiteq ne contains
CoutUnitaireeq ne gt ge lt le
PrixUnitaireeq ne gt ge lt le
EstActifeq ne

Créer des produits

Un POST sur la même adresse, avec l’élément en JSON :

HTTP
POST https://gateway.conexio.dev/api/Entity/Product
Authorization: Basic base64(CODE_LICENCE:CLE_API)
COMPANY_CODE: VOTRE_COMPAGNIE
Content-Type: application/json

{
  "NoProduit": "VALEUR",
  "NoUniqueSystemeExterne": "VALEUR",
  "NomProduit": "VALEUR"
}

Les champs

ChampLireCréerModifier
NoProduit✓✓✓
NoUniqueSystemeSource✓——
NoUniqueSystemeExterne✓✓✓
NomProduit✓✓✓
Description✓✓✓
CoutUnitaire✓✓✓
PrixUnitaire✓✓✓
EstActif✓✓✓

Les mêmes produits, dans les autres logiciels

Même requête, même JSON : seule la compagnie change.

Pour aller plus loin