API Autotask — bons de travail
Lire les bons de travail 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é WorkOrder.
✓ Lire (GET)✗ Créer (POST)✗ Modifier (PUT)
Lire les bons de travail
Une requête GET sur /api/Entity/WorkOrder, avec les modificateurs $select, $filter et $top. L’en-tête ALLOW_PAGINATION renvoie { Data, ResultsCount, TotalCount }.
GET https://gateway.conexio.dev/api/Entity/WorkOrder?$select=ErpInternalId,Id,WorkOrderNumber,SourceSystem,WorkItemType&$filter=CreationDate ge '2026-01-01'&$top=10
Authorization: Basic base64(CODE_LICENCE:CLE_API)
COMPANY_CODE: VOTRE_COMPAGNIE
ALLOW_PAGINATION: truecurl 'https://gateway.conexio.dev/api/Entity/WorkOrder?$select=ErpInternalId,Id,WorkOrderNumber,SourceSystem,WorkItemType&$filter=CreationDate%20ge%20'2026-01-01'&$top=10' \
-u "$CONEXIO_LICENCE:$CONEXIO_API_KEY" \
-H 'COMPANY_CODE: VOTRE_COMPAGNIE' \
-H 'ALLOW_PAGINATION: true'const response = await fetch("https://gateway.conexio.dev/api/Entity/WorkOrder?$select=ErpInternalId,Id,WorkOrderNumber,SourceSystem,WorkItemType&$filter=CreationDate%20ge%20'2026-01-01'&$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
var http = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://gateway.conexio.dev/api/Entity/WorkOrder?$select=ErpInternalId,Id,WorkOrderNumber,SourceSystem,WorkItemType&$filter=CreationDate%20ge%20'2026-01-01'&$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();import requests
response = requests.get(
"https://gateway.conexio.dev/api/Entity/WorkOrder?$select=ErpInternalId,Id,WorkOrderNumber,SourceSystem,WorkItemType&$filter=CreationDate%20ge%20'2026-01-01'&$top=10",
auth=(CODE_LICENCE, CLE_API),
headers={"COMPANY_CODE": "VOTRE_COMPAGNIE", "ALLOW_PAGINATION": "true"},
)
data = response.json()["Data"]Filtrer
Les champs filtrables de WorkOrder sur Autotask, et leurs opérateurs $filter :
| Champ | Opérateurs |
|---|---|
ErpInternalId | eq ne in |
Id | eq ne in gt ge lt le |
WorkOrderNumber | eq ne in contains |
SourceSystem | eq ne in contains |
WorkItemType | eq ne in |
Title | eq ne in contains |
Description | eq ne in contains |
CreationDate | eq ne in gt ge lt le |
LastModifiedDate | eq ne in gt ge lt le |
ExpectedDate | eq ne in gt ge lt le |
CompletedDate | eq ne in gt ge lt le |
StatusName | eq ne in contains |
IsCompleted | eq ne |
QueueName | eq ne in contains |
ServiceRequestType | eq ne in contains |
ClassificationCode | eq ne in contains |
PriorityCode | eq ne in contains |
CustomerId | eq ne in |
CustomerNumber | eq ne in contains |
CustomerName | eq ne in contains |
CustomerContact | eq ne in contains |
TechnicianId | eq ne in |
TechnicianName | eq ne in contains |
ProjectId | eq ne in |
ProjectNumber | eq ne in contains |
ProjectName | eq ne in contains |
PhaseId | eq ne in |
PhaseName | eq ne in contains |
EstimatedHours | eq ne in gt ge lt le |
LabourCode | eq ne in contains |
ContractReference | eq ne in contains |
Les champs
| Champ | Lire | Créer | Modifier |
|---|---|---|---|
ErpInternalId | ✓ | — | — |
Id | ✓ | — | — |
WorkOrderNumber | ✓ | — | — |
SourceSystem | ✓ | — | — |
WorkItemType | ✓ | — | — |
Title | ✓ | — | — |
Description | ✓ | — | — |
CreationDate | ✓ | — | — |
LastModifiedDate | ✓ | — | — |
ExpectedDate | ✓ | — | — |
CompletedDate | ✓ | — | — |
StatusName | ✓ | — | — |
IsCompleted | ✓ | — | — |
QueueName | ✓ | — | — |
ServiceRequestType | ✓ | — | — |
ClassificationCode | ✓ | — | — |
PriorityCode | ✓ | — | — |
ServiceType | — | — | — |
CustomerId | ✓ | — | — |
CustomerNumber | ✓ | — | — |
CustomerName | ✓ | — | — |
CustomerContact | ✓ | — | — |
CustomerAddressLine | — | — | — |
CustomerCity | — | — | — |
CustomerCountry | — | — | — |
CustomerPostalCode | — | — | — |
CustomerPhone | — | — | — |
CustomerEmail | — | — | — |
TechnicianId | ✓ | — | — |
TechnicianName | ✓ | — | — |
TechnicianNumber | — | — | — |
SalesRepId | — | — | — |
SalesRepNumber | — | — | — |
SalesRepName | — | — | — |
DispatcherId | — | — | — |
DispatcherNumber | — | — | — |
DispatcherName | — | — | — |
ProjectId | ✓ | — | — |
ProjectNumber | ✓ | — | — |
ProjectName | ✓ | — | — |
PhaseId | ✓ | — | — |
PhaseName | ✓ | — | — |
EstimatedHours | ✓ | — | — |
LabourCode | ✓ | — | — |
ContractReference | ✓ | — | — |
TravelCode | — | — | — |
PaymentMethod | — | — | — |
ProductLines | — | — | — |
ExtendedProperties | ✓ | — | — |
Les mêmes bons de travail, dans les autres logiciels
Même requête, même JSON : seule la compagnie change.