Conexio vitrine du développeur

API Sage 50 — écritures de journal

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

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

Lire les écritures de journal

Une requête GET sur /api/Entity/GLJournalEntry, 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/GLJournalEntry?$select=NoEcritureComptable,DateEcriture,DescriptionÉcriture,NoDocumentSource&$filter=DateEcriture ge '2026-01-01'&$top=10
Authorization: Basic base64(CODE_LICENCE:CLE_API)
COMPANY_CODE: VOTRE_COMPAGNIE
ALLOW_PAGINATION: true
curl
curl 'https://gateway.conexio.dev/api/Entity/GLJournalEntry?$select=NoEcritureComptable,DateEcriture,DescriptionÉcriture,NoDocumentSource&$filter=DateEcriture%20ge%20'2026-01-01'&$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/GLJournalEntry?$select=NoEcritureComptable,DateEcriture,DescriptionÉcriture,NoDocumentSource&$filter=DateEcriture%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
C# (HttpClient)
var http = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://gateway.conexio.dev/api/Entity/GLJournalEntry?$select=NoEcritureComptable,DateEcriture,DescriptionÉcriture,NoDocumentSource&$filter=DateEcriture%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();
Python (requests)
import requests

response = requests.get(
    "https://gateway.conexio.dev/api/Entity/GLJournalEntry?$select=NoEcritureComptable,DateEcriture,DescriptionÉcriture,NoDocumentSource&$filter=DateEcriture%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 GLJournalEntry sur Sage 50, et leurs opérateurs $filter :

ChampOpérateurs
NoUniqueSystemeSourceeq ne in
DateEcritureeq ne gt ge lt le
Fiche_DerniereModificationeq ne gt ge lt le
NoDocumentSourceeq ne contains
PartiePrenanteNoUniqueSystemSourceeq ne in

Créer des écritures de journal

Un POST sur la même adresse, avec l’élément en JSON (les champs obligatoires sur Sage 50) :

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

{
  "DateEcriture": "2026-01-01",
  "LignesÉcriture": "VALEUR"
}

Les champs

ChampLireCréerModifier
NoUniqueSystemeSource✓——
NoEcritureComptable✓——
DateEcriture requis✓✓—
Fiche_DerniereModification✓——
DescriptionÉcriture✓✓—
NoDocumentSource✓✓—
PartiePrenanteNoUniqueSystemSource✓——
LignesÉcriture[].NoUniqueSystemeSource✓——
LignesÉcriture[].Montant_Écriture✓✓—
LignesÉcriture[].Direction_DebitCredit✓✓—
LignesÉcriture[].DescriptionLignes✓✓—
LignesÉcriture[].ComptesGL.NoCompteGL✓✓—
LignesÉcriture[].ComptesGL.NoUniqueSystemeSource✓——
LignesÉcriture requis✓✓—

Les mêmes écritures de journal, dans les autres logiciels

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

Pour aller plus loin