---
title: "API-Alt"
description: "**Wichtig** Diese Seite beschreibt die alte AJAX-API in ChurchTools. Informationen über die neue RESTful-API findest du auf der Seite [API](https://staging.churchtools.academy/help/system-einstellungen/api/0-api/). ## Funktionsweise der API Da ChurchTools die gesamte Kommunikation über AJAX steuert, kann jede Funktion auch über API aufgerufen werden. Also…"
url: "https://staging.churchtools.academy/de/help/system-einstellungen/api/api-alt/"
updated: "2026-08-24"
category: Integrationen / API
tags:
  - Inhalt veraltet
---

# API-Alt

**Wichtig**

Diese Seite beschreibt die alte AJAX-API in ChurchTools. Informationen über die neue RESTful-API findest du auf der Seite [API](https://staging.churchtools.academy/help/system-einstellungen/api/0-api/).

## Funktionsweise der API

Da ChurchTools die gesamte Kommunikation über AJAX steuert, kann jede Funktion auch über API aufgerufen werden.

Also z. B. https://xxx.churchtools.de/index.php?q=churchresource/ajax

Und per POST dann:* func=getBookings* (liefert alle Buchungen) oder z. B. *func=getMasterData*liefert alle notwendigen Stammdaten.

Wichtig ist, dass der Aufruf über POST-Befehl gesendet wird und die gewünschte Funktion in dem Parameter "func=functioname" enthalten ist. Pro Modul gibt es verschiedene Aufrufe. Hierzu kann unter system/modulename/classes/CTModulename.class.php nachgeschaut werden.  

## Weitere Beispiele für API-Calls

Also z. B. Login über

`https://xxx.churchtools.de/?q=login`

Per POST dann die Parameter:

email

password

directtool=yes

**Abfrage von allen Personen**

`https://xxx.churchtools.de/?q=churchdb/ajax&func=getAllPersonData`

**Abfrage einer Person**

`https://xxx.churchtools.de/?q=churchdb/ajax&func=getPersonDetails&id=736`

## Beispiel eines API-Calls in PHP

`<?php`
`/** * Example API call to ChurchTools Installation for PHP. The cookies will be stored to current directory`
`* Author: Jens Martin Rauen`
`* Copyright: 2015`
`**/`

`/**  `
`* Get saved Cookies from filesystem and returns an array  `
`* @return array of Cookies in string  `
`*/`
`function getCookies() {`
`  $aCookies = glob("*.txt");`
`  $n = count($aCookies);`
`  if ($n !== 0) {`
`   $counter = 0;`

`  while ($counter < $n) {`
`    $sCombined .= file_get_contents($aCookies["$counter"]) . ';';`
`    ++$counter;`
`   }`
`   return $sCombined;`
`  } else {`
`   return $n;`
`  }`
`}`

`/**`
` * Save cookies from $aRH (http response header) to the filesystem`
` * @param $aRH`
` */`
`function saveCookies($aRH) {`
`  $n = count($aRH); // Number of Pieces`
`  $counter = 0;`
`  while ($counter <= $n) {`
`    if(preg_match('@Set-Cookie: (([^=]+)=[^;]+)@i', $aRH["$counter"], $matches)) {`
`      $fp = fopen($matches["2"].'.txt', 'w');`
`       fwrite($fp, $matches["1"]);`
`      fclose($fp);`
`    }`
`    ++$counter;`
`  }`
`}`

`/**`
 `* Send request to $url with $data`
` * @param [type] $url  [description]`
` * @param [type] $data [description]`
` */`
`function sendRequest($url, $data) {`
`  $options1 = array(`
`    'http' => array(`
`      'header'  => "Cookie: ".getCookies() . "rnContent-type: application/x-www-form-urlencodedrn",`
`      'method'  => 'POST',`
`      'content' => http_build_query($data),`
`    ),`
`  );`
`  $context  = stream_context_create($options1);`
`  $result = file_get_contents($url, false, $context);`
`  print_r($result);`
`  saveCookies($http_response_header);`
`}`

`// Login to mghh churchtools`
`$url = 'https://mghh.churchtools.de/?q=login';`
`$data = array('email' => 'sabine@mghh.churchtools.de', 'password' => '1234',`
`'directtool' => 'yes');`
`sendRequest($url, $data);`

`// Now get all Person data`
`$url = 'https://mghh.churchtools.de/index.php?q=churchdb/ajax';`
`$data = array('func' => 'getAllPersonData');`
`sendRequest($url, $data);`

## Artikel zum Weiterlesen

- [Überblick API](https://staging.churchtools.academy/de/help/system-einstellungen/api/uberblick-api/)
- [API Authentifizierung](https://staging.churchtools.academy/de/help/system-einstellungen/api/api-authentifizierung/)
