BeeCollect API: Abfrage des Meta-Schemas

Abfragen werden in der BeeCollect-API stets im generischen Datenbank-Schema der zugrunde liegenden Datenbank formuliert. Daher ist es für die korrekte Interpretation oder Vorbereitung der Abfragen notwendig, auch das jeweils gültige Metaschema der Datenbank abzurufen.

Das Metaschema enthält für alle Felder der Datenbank die interne (generische) Feldbezeichnung, den Feldtyp und die aktuell zugewiesene Feldbezeichnung. Das Schema wird bei einer Metaschema-Abfrage als JSON- oder XML-Struktur geliefert.

Folgende Syntax wird beim Aufbau der URL verwendet:

https://<url>[:<port>]/modules/<module_id>{/meta|/<subcategory>/meta}

Die einzelnen Elemente haben dabei folgende Bedeutung:

  • url: vollständige URL oder IP-Adresse des API-Servers
  • port: konfigurierter Port des API-Servers (typisch sind hier 443 oder 8080
  • module_id: Nummer/ID des abgefragten Moduls
  • subcategory: Bezeichnung der Unterelemente eines Moduls (z.B. dimensions im Modul Sammlung [21])

Unterstützt werden aktuell die folgenden Module:

  • Sammlung: module_id = 21
  • Adressen: module_id = 22
  • Künstler/Beteiligte: module_id = 30
  • Veranstaltung: module_id = 38
  • Literatur: module_id = 39
  • Ausstellung: module_id = 40
  • Fotobestellung: module_id = 47
  • Ereignisse: module_id = 54

Die Bezeichnungen für die Unterelemente sindjeweils modulspezifisch. Eine Liste der bei den einzelnen Modulen unterstützten Unterelemente finden Sie in der Abfrage-Dokumentation des jeweiligen Moduls.

Für jedes Feld werden jeweils die folgenden Angaben übermittelt:

  • ColumnName: Generischer Name des Datenfeldes
  • DataType: Datentyp des Datenfeldes
  • Length: Maximale Länge (bei Textfeldern)
  • Label: Aktuelle Feldbeschriftung

Die Datentypen haben dabei folgende Bedeutung:

  • Int32: Ganzzahlwerte im Wertebereich zwischen -2.147.483.648 bis 2.147.483.647
  • Double: Gleitkommazahlen
  • DateTime: Datum/Uhrzeit, immer in der Notation 2007-08-01T00:00:00
  • String: Text, wobei die Textlänge begrenzt sein kann

Abfragebeispiele

Abfrage des Metaschemas im Modul Veranstaltung 
(Modulnummer 38):

URL

https://my-url:8080/modules/38/meta

Server-Antwort: 

[
  {
    "ColumnName": "VanId",
    "DataType": "Int32",
    "Label": "Ver. Id"
  },
  {
    "ColumnName": "VanMutationD",
    "DataType": "DateTime",
    "Label": "Bearb. Datum"
  },
  {
    "ColumnName": "VanMitarbeiterS",
    "DataType": "String",
    "Length": 50,
    "Label": "Bearb. Mitarbeiter/in"
  },
  {
    "ColumnName": "VanAufId",
    "DataType": "Int32",
    "Label": ""
  },
  {
    "ColumnName": "VanTypS",
    "DataType": "String",
    "Length": 50,
    "Label": "Veranst. Typ"
  },
  {
    "ColumnName": "VanAusId",
    "DataType": "Int32",
    "Label": "Ausstellung"
  },
  {
    "ColumnName": "VanStatusS",
    "DataType": "String",
    "Length": 50,
    "Label": "Status"
  },
  {
    "ColumnName": "VanTitelS",
    "DataType": "String",
    "Length": 250,
    "Label": "Veranst. Titel"
  },
  {
    "ColumnName": "VanOrtS",
    "DataType": "String",
    "Length": 50,
    "Label": "Ort"
  },
  {
    "ColumnName": "VanDatumD",
    "DataType": "DateTime",
    "Label": "Datum"
  },
  {
    "ColumnName": "VanZeitVonS",
    "DataType": "String",
    "Length": 50,
    "Label": "Zeit von"
  },
  {
    "ColumnName": "VanZeitBisS",
    "DataType": "String",
    "Length": 50,
    "Label": "Zeit bis"
  },
  {
    "ColumnName": "VanDatumBisD",
    "DataType": "DateTime",
    "Label": "Datum bis"
  },
  {
    "ColumnName": "VanLeitAdrId",
    "DataType": "Int32",
    "Label": ""
  },
  {
    "ColumnName": "VanSpracheS",
    "DataType": "String",
    "Length": 50,
    "Label": "Sprache"
  },
  {
    "ColumnName": "VanKontaktAdrId",
    "DataType": "Int32",
    "Label": ""
  },
  {
    "ColumnName": "VanKontaktS",
    "DataType": "String",
    "Length": 150,
    "Label": "Gruppen total"
  },
  {
    "ColumnName": "VanInstitutionAdrId",
    "DataType": "Int32",
    "Label": ""
  },
  {
    "ColumnName": "VanAnzTeilnehmerL",
    "DataType": "Int32",
    "Label": "Anzahl Teilnehmende"
  },
  {
    "ColumnName": "VanTeilnehmerTypS",
    "DataType": "String",
    "Length": 50,
    "Label": "Teilnehmende Kategorie"
  },
  {
    "ColumnName": "VanSchulklasseS",
    "DataType": "String",
    "Length": 50,
    "Label": "Schulklasse"
  },
  {
    "ColumnName": "VanKostenF",
    "DataType": "Double",
    "Label": "Kosten"
  },
  {
    "ColumnName": "VanBemerkungenM",
    "DataType": "String",
    "Length": 1073741823,
    "Label": "Bemerkungen"
  },
  {
    "ColumnName": "VanReserve01M",
    "DataType": "String",
    "Length": 1073741823,
    "Label": "Kategorie"
  },
  {
    "ColumnName": "VanReserve02M",
    "DataType": "String",
    "Length": 1073741823,
    "Label": ""
  },
  {
    "ColumnName": "VanReserve01S",
    "DataType": "String",
    "Length": 50,
    "Label": "Zahl'gsmodus"
  },
  {
    "ColumnName": "VanReserve02S",
    "DataType": "String",
    "Length": 50,
    "Label": "Eintrittsgebühr"
  },
  {
    "ColumnName": "VanA01M",
    "DataType": "String",
    "Length": 1073741823,
    "Label": ""
  },
  {
    "ColumnName": "VanA02M",
    "DataType": "String",
    "Length": 1073741823,
    "Label": ""
  },
  {
    "ColumnName": "VanA03M",
    "DataType": "String",
    "Length": 1073741823,
    "Label": ""
  },
  {
    "ColumnName": "VanA04S",
    "DataType": "String",
    "Length": 100,
    "Label": ""
  },
  {
    "ColumnName": "VanA05S",
    "DataType": "String",
    "Length": 100,
    "Label": ""
  },
  {
    "ColumnName": "VanA06S",
    "DataType": "String",
    "Length": 100,
    "Label": ""
  },
  {
    "ColumnName": "VanA07S",
    "DataType": "String",
    "Length": 100,
    "Label": ""
  },
  {
    "ColumnName": "VanA08S",
    "DataType": "String",
    "Length": 100,
    "Label": ""
  },
  {
    "ColumnName": "VanA09S",
    "DataType": "String",
    "Length": 100,
    "Label": ""
  },
  {
    "ColumnName": "VanA10S",
    "DataType": "String",
    "Length": 100,
    "Label": ""
  },
  {
    "ColumnName": "VanA11S",
    "DataType": "String",
    "Length": 100,
    "Label": ""
  },
  {
    "ColumnName": "VanTransferId",
    "DataType": "Int32",
    "Label": ""
  },
  {
    "ColumnName": "VanGesperrtS",
    "DataType": "String",
    "Length": 5,
    "Label": ""
  },
  {
    "ColumnName": "VanGenDatumD",
    "DataType": "DateTime",
    "Label": ""
  },
  {
    "ColumnName": "VanGenPersonS",
    "DataType": "String",
    "Length": 50,
    "Label": ""
  },
  {
    "ColumnName": "VanInsertS",
    "DataType": "String",
    "Length": 64,
    "Label": ""
  }
]