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
ResponsesAntworten 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);