Input-API

Mittels unserer Input-API können Sie Datensätze direkt in Freinet eintragen.
Folgende Module werden hierbei derzeit unterstützt:

  • Modul Einrichtung
  • Modul Angebot
  • Modul Freiwillige

Weitere Möglichkeiten

  • API für Empfehlungen / Vermittlungen
    (um Freiwillige und Angebote zu verbinden)

Sofern Sie Fragen zu einem Einsatz-Szenario haben, können Sie uns gerne kontaktieren.

 

Endpoints

Der Endpoint für das erstellen von Einrichtungen lautet

POST https://freinet-online.de/api/input/v3/einrichtung

Der Endpoint für das erstellen von Angeboten lautet

POST https://freinet-online.de/api/input/v3/angebot

Der Endpoint für das erstellen von Personen lautet

POST https://freinet-online.de/api/input/v3/personen

Der Endpoint für das erstellen von Vermittlungen lautet

POST https://freinet-online.de/api/input/v3/vermittlung
 

Responses

Responses

Antworten der API erfolgen als JSON Objekt
Success
{
    "STATUS": "OK",
    "NEW_EINRICHTUNGID": "{einrichtung_id}" // Bei Einrichtungen
    "NEW_ANGEBOTID": "{angebot_id}" // Bei Angeboten
    "NEW_USERID": "{user_id}" // Bei Freiwilligen
    "NEW_VERMITTLUNGID": "{vermittlung_id}" // Bei Vermittlungen Angebote/Freiwillige
}
        
Error
{
    "error": {
        "code": 417,
        "message": "Expectation Failed: TargetAgid missing"
    }
}
        
 

Beispiele

Einrichtung

Insert einer Einrichtung

/********************************
* $input_array eines UserInputs
* z.B.
*
* SetupInfos
* $input_array['init']['agencyID']='52'; // AgenturID
* $input_array['init']['accessKey']='xxxxxxxxx'; // AccessKey
* Infos zum User
* $input_array['einrichtung']['name']='Musteragentur';
* AdressDaten
* $input_array['einrichtung']['address'][1]['vorname']='Jan';
* $input_array['einrichtung']['address'][1]['nachname']='Rademacher';
* $input_array['einrichtung']['address'][1]['adress_strasse']='Am Musterweg';
* $input_array['einrichtung']['address'][1]['adress_plz']='26135';
* $input_array['einrichtung']['address'][1]['adress_ort']='Oldenburg';
* $input_array['einrichtung']['address'][1]['adress_tel_d']='123'; // Tel Dienstlich
* $input_array['einrichtung']['address'][1]['adress_tel_p']='123'; // Tel Privat
* $input_array['einrichtung']['address'][1]['adress_mobil']='123'; // Mobil
* $input_array['einrichtung']['address'][1]['adress_fax']='123'; // Fax
* Sonstige Infos
* $input_array['einrichtung']['unsupported'][]='Informationen, Informationen, für die es bei Freinet keine ›Entsprechung‹ gibt. (Die Informationen werden gesondert angezeigt)';
* Protokoll
* $input_array['protokoll'][1][title]='Mein Protokoll';
* $input_array['protokoll'][1]['content']='Mein Protokollinhalt';
* $input_array[''protokoll''][1][date]='2020-12-29';
*/
$input_array['init']['apiVersion']='1.0';
$input_array['init']['agencyID']='52';
$input_array['init']['accessKey']='xxxxxxxxx';
$input_array['init']['modul']='einrichtung'; // TargetModul freiwillige|einrichtung|angebot|kontakte

$input_array['init']['author']='Muster e.V.'; // Kontaktperson der API
$input_array['init']['author_mail']='mail@muster_e_V.de'; // E-Mail Adresse der API Kontaktperson

$input_array['entity']['anrede']='Herr'; // (mixed) Herr|Frau|1|2  (1=Herr, 2=Frau, 4=Divers)
$input_array['entity']['titel']='Dr.'; // Prof. Dr.
$input_array['entity']['vorname']='Markus';
$input_array['entity']['nachname']='Muster';


/*********************************
* Versand via cURL
*/
$url='https://freinet-online.de/api/input/v3/einrichtung';

$ch=curl_init($url);

# Setup request to send json via POST.
$payload=json_encode($input_array,JSON_PRETTY_PRINT);

curl_setopt($ch,CURLOPT_POSTFIELDS,$payload);
curl_setopt($ch,CURLOPT_HTTPHEADER,array('Content-Type:application/json'));
# Return response instead of printing.
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
# Send request.
$result=curl_exec($ch);
curl_close($ch);
		

Angebot

Insert einer Einrichtung mit Angebot

/********************************
* $input_array eines UserInputs
* z.B.
*
* SetupInfos
* $input_array['init']['agencyID']='52'; // AgenturID
* $input_array['init']['accessKey']='xxxxxxxxx'; // AccessKey
* Infos zur Einrichtung
* $input_array['einrichtung']['name']='Musteragentur';
* AdressDaten
* $input_array['einrichtung']['address'][1]['vorname']='Jan';
* $input_array['einrichtung']['address'][1]['nachname']='Rademacher';
* $input_array['einrichtung']['address'][1]['adress_strasse']='Am Musterweg';
* $input_array['einrichtung']['address'][1]['adress_plz']='26135';
* $input_array['einrichtung']['address'][1]['adress_ort']='Oldenburg';
* $input_array['einrichtung']['address'][1]['adress_tel_d']='123'; // Tel Dienstlich
* $input_array['einrichtung']['address'][1]['adress_tel_p']='123'; // Tel Privat
* $input_array['einrichtung']['address'][1]['adress_mobil']='123'; // Mobil
* $input_array['einrichtung']['address'][1]['adress_fax']='123'; // Fax
* Infos zum Angebot
* $input_array['angebot']['angebot_titel']='Vorlesen für Kinder im Vorschulalter';
* AdressDaten
* $input_array['angebot']['address'][1]['vorname']='Jan';
* $input_array['angebot']['address'][1]['nachname']='Rademacher';
* $input_array['angebot']['address'][1]['adress_strasse']='Am Musterweg';
* $input_array['angebot']['address'][1]['adress_plz']='26135';
* $input_array['angebot']['address'][1]['adress_ort']='Oldenburg';
* Sonstige Infos
* $input_array['angebot']['unsupported'][]='Informationen, Informationen, für die es bei Freinet keine ›Entsprechung‹ gibt. (Die Informationen werden gesondert angezeigt)';
* Protokoll
* $input_array['protokoll'][1]['title']='Mein Protokoll';
* $input_array['protokoll'][1]['content']='Mein Protokollinhalt';
* $input_array['protokoll'][1]['date']='2020-12-29';
*/
$input_array['init']['apiVersion']='1.0';
$input_array['init']['agencyID']='52';
$input_array['init']['accessKey']='xxxxxxxxx';
$input_array['init']['modul']='einrichtung'; // TargetModul freiwillige|einrichtung|angebot|kontakte

$input_array['init']['author']='Muster e.V.'; // Kontaktperson der API
$input_array['init']['author_mail']='mail@muster_e_V.de'; // E-Mail Adresse der API Kontaktperson

$input_array['entity']['anrede']='Herr'; // (mixed) Herr|Frau|1|2  (1=Herr, 2=Frau, 4=Divers)
$input_array['entity']['titel']='Dr.'; // Prof. Dr.
$input_array['entity']['vorname']='Markus';
$input_array['entity']['nachname']='Muster';


/*********************************
* Versand via cURL
*/
$url='https://freinet-online.de/api/input/v3/angebot';

$ch=curl_init($url);

# Setup request to send json via POST.
$payload=json_encode($input_array,JSON_PRETTY_PRINT);

curl_setopt($ch,CURLOPT_POSTFIELDS,$payload);
curl_setopt($ch,CURLOPT_HTTPHEADER,array('Content-Type:application/json'));
# Return response instead of printing.
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
# Send request.
$result=curl_exec($ch);
curl_close($ch);
		

Freiwillige

Insert eines Freiwilligen

/********************************
* $input_array eines UserInputs
* z.B.
*
* SetupInfos
* $input_array['init']['agencyID']='52'; // AgenturID
* $input_array['init']['accessKey']='xxxxxxxxx'; // AccessKey
* Infos zum User
* $input_array['entity']['vorname']='Jan';
* $input_array['entity']['nachname']='Rademacher';
* AdressDaten
* $input_array['entity']['address'][1]['adress_strasse']='Am Musterweg';
* $input_array['entity']['address'][1]['adress_plz']='26135';
* $input_array['entity']['address'][1]['adress_ort']='Oldenburg';
* $input_array['entity']['address'][1]['adress_tel_d']='123'; // Tel Dienstlich
* $input_array['entity']['address'][1]['adress_tel_p']='123'; // Tel Privat
* $input_array['entity']['address'][1]['adress_mobil']='123'; // Mobil
* $input_array['entity']['address'][1]['adress_fax']='123'; // Fax
* Sonstige Infos
* $input_array['entity']['unsupported'][]='Informationen, Informationen, für die es bei Freinet keine ›Entsprechung‹ gibt. (Die Informationen werden gesondert angezeigt)';
* Protokoll
* $input_array['protokoll'][1]['title']='Mein Protokoll';
* $input_array['protokoll'][1]['content']='Mein Protokollinhalt';
* $input_array['protokoll'][1]['date']='2020-12-29';
*/
$input_array['init']['apiVersion']='1.0';
$input_array['init']['agencyID']='52';
$input_array['init']['accessKey']='xxxxxxxxx';
$input_array['init']['modul']='personen'; // TargetModul freiwillige|einrichtung|angebot|kontakte

$input_array['init']['author']='Muster e.V.'; // Kontaktperson der API
$input_array['init']['author_mail']='mail@muster_e_V.de'; // E-Mail Adresse der API Kontaktperson

$input_array['entity']['anrede']='Herr'; // (mixed) Herr|Frau|1|2  (1=Herr, 2=Frau, 4=Divers)
$input_array['entity']['titel']='Dr.'; // Prof. Dr.
$input_array['entity']['vorname']='Rudi';
$input_array['entity']['nachname']='Dutschke';


/*********************************
* Versand via cURL
*/
$url='https://freinet-online.de/api/input/v3/personen';

$ch=curl_init($url);

# Setup request to send json via POST.
$payload=json_encode($input_array,JSON_PRETTY_PRINT);

curl_setopt($ch,CURLOPT_POSTFIELDS,$payload);
curl_setopt($ch,CURLOPT_HTTPHEADER,array('Content-Type:application/json'));
# Return response instead of printing.
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
# Send request.
$result=curl_exec($ch);
curl_close($ch);
		

Vermittlung

Insert einer Empfehlung/Vermittlung von ›Freiwilligen‹ zu ›Angeboten‹

/********************************
* $input_array einer Empfehlung/Vermittlung
* z.B.
*
* Teil 1) SetupInfos
* $input_array['init']['agencyID']='52'; // AgenturID
* $input_array['init']['accessKey']='gcBc66'; // AccessKey
*
* Teil 2) Infos zum Angebot
* $input_array['angebot']['angebot_id']='';
*
* Teil 3) Infos zum User (dem "Freiwilligen")
* $input_array['user']['user_id']='';
*
* Teil 4) Informationen zur Vermittlungen
* $input_array['einrichtung']['unsupported'][]='Informationen, Informationen, für die es bei Freinet keine ›Entsprechung‹ gibt. (Die Informationen werden gesondert angezeigt)';
*
* Teil 5) Sonstige Infos (optional)
* $input_array['angebot'][unsupported][]='Informationen, Informationen, für die es bei Freinet keine ›Entsprechung‹ gibt. (Die Informationen werden gesondert angezeigt)';
*
* Teil 8) Projekte (optional)
* $input_array['add_to_project'][1]='Name des Projektes'; // Der Datensatz "Angebot" soll zu einem Projekt hinzugefügt werden.
*
* Teil 9) Protokoll (optional)
* $input_array['protokoll'][1]['title']='Mein Protokoll';
* $input_array['protokoll'][1]['content']='Mein Protokollinhalt';
* $input_array['protokoll'][1]['date']='2020-12-29';
 */
 
/*
 * Teil 1) Einstellungen zur Authorisierung etc.
 */
$input_array['init']['apiVersion']='1.0';
$input_array['init']['agencyID']='52';
$input_array['init']['accessKey']='xxxxxxxxx';
$input_array['init']['modul']='vermittlung'; // TargetModul freiwillige|einrichtung|angebot|kontakte

$input_array['init']['author']='Muster e.V.'; // Kontaktperson der API
$input_array['init']['author_mail']='mail@musterverein.de'; // TargetModul freiwillige|einrichtung|angebot|kontakte

$input_array['init']['referer_name']='Muster e.V.'; // Sie können hier den Namen der Sendenden Webseite eintragen
$input_array['init']['referer_email']='mail@musterverein.de'; // ... und die zugehörige E-Mail
$input_array['init']['referer_homepage']='http://www.musterverein.de'; // ... und die zugehörige Webadresse

$input_array['init']['testing']=false; // wenn true, dann können Sie Ihr Skript testen, ohne das Daten eingetragen werden
									   // etwaige Fehlermeldungen, Hinweise werden ausgegeben.

// Verhalten bei Dubletten
$input_array['init']['halt_on_vermittlung_duplicate']=false; // wenn 'true', wird der Eintrag abgebrochen, wenn ein Angebot und User bereits vermittelt sind.

// Benachrichtigung einer Agenturmitarbeiter_in
$input_array['init']['notify_this_email_on_submission']='rademacher@freinet-online.de'; // Wer soll benachrichtigt werden, wenn ein neuer Datensatz eingetragen wird
																						// Leer lassen, wenn niemand benachrichtigt werden soll
$input_array['init']['name_of_receiver']='Hallo Jan,'; // Anrede für Nachrichteninhalt

// Selbstregistrierung
// "Hat sich der User persönlich über ein (Online-)Formular eingetragen?"
$input_array['init']['self_registered']=true; // setzen Sie 'true', wenn der User sich persönlich z.B. über ein (Online-)Formular eingetragen hat.

/*
 * Teil 2) Grunddaten
 * ID des Angebots etc.
 */
$input_array['angebot']['angebot_id']='172166';

/*
 * Teil 3) Grunddaten
 * ID des Users etc.
 */
$input_array['user']['user_id']='287158'; //


/*
 * Teil 4) Informationen zur Vermittlungen
 */

// Der Status der Vermittlung
// 0 = Empfehlung (Der User bekundet "Interesse" am Angebot)
// 10 = Vermittlung (Der User bestätigt die Teilnahme / "sagt fest zu" / wird dieses Angebot sicher wahrnehmen
$input_array['vermittlung']['vermittlungs_status']='10'; // int

// Sofern bereits klar ist, in welchem Zeitrahmen der USER aktiv sein wird, können Start- und/oder End-Datum gesetzt werden
$input_array['vermittlung']['datum_start']='2021-01-01'; // Unix Timestamp || IsoDate
$input_array['vermittlung']['datum_ende']='2021-01-05'; // Unix Timestamp || IsoDate

// Anzahl Begleit-Personen
// "Wieviele Personen werden mitgebracht" (also User PLUS weitere Personen )
$input_array['vermittlung']['anzahl_begleitpersonen']='0'; // int

// Ist diese Vermittlung Teil des Programms FSSJ
$input_array['vermittlung']['is_FSSJ']='1'; // int 0=Nein, 1=Ja

// Datumsangaben
// Wenn keine Datumsangaben übergeben werden, nimmt Freinet den aktuellen UnixTimestamp
$input_array['vermittlung']['erstellt']=date('Y-m-d H:i:s', time()); // "Erstell/Registrierungsdatum" (ISODate or Unixtimestamp)
$input_array['vermittlung']['dateline']='1451307448'; // "zuletzt bearbeitet" (ISODate or Unixtimestamp)

// Kommentar
$input_array['vermittlung']['kommentar']='Mein Kommentar zu dieser Vermittlung'; // varchar, max 500

/*
 * Teil 3) Nicht unterstützte Felder
 * Sofern Sie Felder importieren möchten, die Freinet "eigentlich" nicht unterstützt,
 * können Sie diese in folgendem Array speichern
 * Freinet legt diese Infos als json-Objekt in einer ImportSpalte an, die angezeigt, durchsucht, aber nicht verarbeitet werden kann.
 */
$input_array['vermittlung']['unsupported']['Frage']='Antwort';
$input_array['vermittlung']['unsupported']['foo']='bar';
$input_array['vermittlung']['unsupported']['Sonderzeichen']='frägt man sich " ab und\'s an. ';

/*********************************
* Versand via cURL
*/
$url='https://freinet-online.de/api/input/v3/vermittlung';

$ch=curl_init($url);

# Setup request to send json via POST.
$payload=json_encode($input_array,JSON_PRETTY_PRINT);

curl_setopt($ch,CURLOPT_POSTFIELDS,$payload);
curl_setopt($ch,CURLOPT_HTTPHEADER,array('Content-Type:application/json'));
# Return response instead of printing.
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
# Send request.
$result=curl_exec($ch);
curl_close($ch);
		
Key-Value Elemente einer Agentur filtern

Sie können sich hier eine Liste von Elementen anzeigen lassen, um für die API einige Schlüssel zu erhalten.