Freinet Online
64342 Burkhardtstraße 24
Seeheim-JugenheimGermany

Tel: +49 6257 - 5037290
.

Update-API

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

  • Modul Einrichtung
  • Modul Angebot
  • Modul Freiwillige

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

Download

Latest Release: v1.2, (Build: 152912)

Download

Endpoints

Der Endpoint für das bearbeiten von Einrichtungen lautet

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

Der Endpoint für das bearbeiten von Angeboten lautet

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

Der Endpoint für das bearbeiten von Personen lautet

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

Beispiele

Einrichtung

Update einer Einrichtung

Coming soon
		

Angebot

Update einer Einrichtung mit Angebot

Coming soon
		

Freiwillige

Update eines Freiwilligen

/********************************
* $input_array eines UserInputs
 *
 * BeispielSetup
 *
 *
 * Teil 1) SetupInfos
 * $input_array[init][agencyID]='52'; // AgenturID
 * $input_array[init][accessKey]='gcBc66'; // AccessKey
 *
 * Teil 2) Grunddaten - Infos zur Person
 * $input_array[person][user_id]='123456';
 * $input_array[person][vorname]='Markus';
 * $input_array[person][nachname]='Muster';
 *
 * Teil 3) Sonstige Infos (optional)
 * $input_array[person][unsupported][]='Informationen, die Freinet´s Spalten nicht erfassen';
 *
 * Teil 4) AdressDaten
 * $input_array[person][address][adress_vorname]='Rudi';
 * $input_array[person][address][adress_nachname]='Mustermann';
 * $input_array[person][address][adress_strasse]='Am Musterweg';
 * $input_array[person][address][adress_plz]='26135';
 * $input_array[person][address][adress_ort]='Oldenburg';
 *
 * Teil 5) Projekte (optional)
 * $input_array['add_to_project'][1]='Name des Projektes'; // Der Datensatz "Person" soll zu einem Projekt hinzugefügt werden.
 *
 * Teil 6) Protokoll (optional)
 * $input_array[protokoll][1][title]='Mein Protokoll';
 * $input_array[protokoll][1][content]='Mein Protokollinhalt';
 * $input_array[protokoll][1][date]='2015-12-29';
 *
 * HINWEIS 1: Beachten Sie die Möglichkeiten zur (exklusiven) Statusänderung -> siehe $input_array['person']['personen_status']
 * HINWEIS 2: Beachten Sie die Möglichkeiten zum Löschen einer Person -> siehe $input_array['person']['send_to_trash']
 */

/***********************************************************
 * Teil 1) SetupInfos - Einstellungen zur Authorisierung etc.
 */
$input_array['init']['apiVersion']='3.0';

$input_array['init']['agencyID']='XXX';
$input_array['init']['accessKey']='YYYYY';

$input_array['init']['modul']='personen'; // TargetModul personen|einrichtung|angebot|kontakte

// WICHTIGE EINSTELLUNG:
$input_array['init']['update_type']='add_replace'; // Wie soll upgedatet werden? add_replace|full_reset
// add_replace: Nur die gesendeten Daten ergänzen/ersetzen bestehende Felder (Standard)
// 			   (Wenn Sie z.B.: NUR $input_array['person']['hobbys'] senden, wird nur dieses Feld upgedatet.)
// full_reset: ALLE (von der API unterstützen) Felder werden geleert und es wird neu hinzugefügt.
//             Achtung, wenn Sie full_reset wählen, aber nur "hobbys" senden, würden ALLE übrigen Felder des Segments ['person'] somit geleert!
//             Senden Sie bei full_reset daher den gesamten Datensatz

$input_array['init']['author']='Monika Muster'; // Sie können hier den Namen des Entwicklers eintragen
$input_array['init']['author_mail']='muster@example.org'; // ... und die zugehörige E-Mail

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

// 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



/***********************************************************
 * Teil 2) Grunddaten - Infos zur Person
 * Name der Person, Beschreibung etc.
 */
$input_array['person']['user_id']='575774'; // Die Freinet-User-ID!
$input_array['person']['source_user_id']='12345'; // Sie können die UserID IHRES Systems mitliefern, wenn gewünscht

// Um den Usernamen zu ändern, unkommentieren Sie bitte folgende Felder
// $input_array['person']['user_name']='RAPDAPIt_3';
// $input_array['person']['user_name_new']='FreinetUserNameÄnderung';

$input_array['person']['anrede']='1'; // 0=Keine, 1=Herr, 2=Frau, 3=Eheleute, 4=Divers
$input_array['person']['titel']='Dr'; // Dr. Prof., etc.
$input_array['person']['vorname']='JanFN';
$input_array['person']['nachname']='RadeFNTest';

//$input_array['person']['angebot_titel']='Testangebot von Musterverein '.date('H:i', time());

// $input_array['person']['email']='fwi@was.de'; // Da es logisch erscheint, hier die E-Mail zu hinterlegen, sei hier auf die Besonderheit der E-Mail hingewiesen
// Bitte nutzen Sie $input_array['person']['address'][1]['adress_mail1'] in Verbindung mit $input_array['person']['address'][1]['adress_typ']==1

$input_array['person']['user_status']='2';  // int(1) 0 - suchend / derzeit mit Bedarf
//        1 - derzeit ohne Bedarf
//        2 - derzeit ruhend
//        3 - Archiv
$input_array['person']['person_status_change_only']='0'; // Wenn "1", wird NUR der Status geändert. So brauchen Sie keine weiteren Personen-Angaben mitsenden.

/*
 * Kontaktierbarkeit - Darf die Adresse der Person veröffentlicht werden, um Besuchern unseres Webportals
 * eine direkte Kontaktaufnahme zu ermöglichen? Andernfalls geht der Erstkontakt immer über die Freiwilligenagentur
 * -1 - Erstkontakt abgelehnt durch Kunden/externen Mitarbeiter
 * 0 - Erstkontakt abgelehnt / Erstkontakt geht immer über die Freiwilligenagentur
 * 1 - Ja, Kontaktdaten dürfen im Internet veröffentlicht werden
 * 2 - Ja, Kontaktdaten dürfen im Internet veröffentlicht werden - durch Kunden/externen Mitarbeiter bestätigt
 *
 * TIPP:   Auch wenn 0 und 1 akzeptiert werden, benutzen Sie nach Möglichkeit -1 oder 2 um die Kontaktierbarkeit zu kennzeichnen.
 * 		   Hierdurch wird dem Mitarbeiter in Freinet (visuell) gezeigt, das die Änderung durch externe Mitarbeiter geschah
 */
$input_array['person']['anschrift_und_kontaktdaten_veroeffentlichen']='2'; // int(1) -1 - keine Kontaktierbarkeit (explizit von externem MA gewünscht)
//         0 - keine Kontaktierbarkeit
//         1 - Kontaktierbar (Kontakt-Adressen dürfen veröffentlicht werden)
//         2 - Kontaktierbar (explizit von externem MA gewünscht)

$input_array['person']['berufe']='Maurer'; // varchar(150)
$input_array['person']['hobbys']='Tapezieren, Fussball'; // varchar(150)
$input_array['person']['arbeitgeber']='HochTief GmbH'; // varchar(150)
$input_array['person']['erfahrungen']='bisherige Erfahrungen'; // varchar(500)

$input_array['person']['nationalitaet']='29'; // int(4) siehe http://freinet-online.de/api/ für weitere Keys

$input_array['person']['weitere_wuensche_anforderungen']='Ich hätt\' gern einen Kaffee '.date('H:i', time()); // varchar, max 255

$input_array['person']['engagement_datum_von']='2016-01-01'; // Unix Timestamp || IsoDate
$input_array['person']['engagement_datum_bis']='2016-01-05'; // Unix Timestamp || IsoDate
$input_array['person']['zeitlicher_rahmen_freitext']='Ich bin die Beschreibung zum zeitlichen Rahmen (also meine Vorstellungen zu meiner Zeiteinteilung) '.date('H:i', time()); // varchar, max 500

/*
 * Barrierefreiheit (der Person gegenüber dem Freiwilligen)
 * Sofern die ID´s der Barrierefreiheit bekannt sind, können diese geliefert werden, andernfalls die Begriffe
 * Achtung, falsch geschriebene oder unbekannte Begriffe werden ignoriert (und nicht etwa neu erstellt)
 * 02 	Barrierefrei für Menschen mit Hörbehinderung / Gehörlosigkeit
 * 03 	Barrierefrei für Menschen mit Lernschwierigkeiten / geistiger Behinderung
 * 01 	Barrierefrei für Menschen mit Sehbehinderung / Blindheit
 * 04 	Barrierefrei für Rollstuhlfahrer_innen
 * 08 	Bedingt barrierefrei
 * 05 	Bedingt barrierefrei für Rollstuhlfahrer_innen
 * 31 	für Menschen mit wenig/keinen Deutschkenntnissen geeignet
 * 06 	Ja, barrierefrei
 * 07 	Nein, nicht barrierefrei
 * 10 	Nicht barrierefrei für Menschen mit Hörbehinderung / Gehörlosigkeit
 * 11 	Nicht barrierefrei für Menschen mit Lernschwierigkeiten / geistiger Behinderung
 * 09 	Nicht barrierefrei für Menschen mit Sehbehinderung / Blindheit
 * 12 	Nicht barrierefrei für Rollstuhlfahrer_innen
*/
$input_array['person']['barrierefreiheit'][]='5';
$input_array['person']['barrierefreiheit'][]='8';
$input_array['person']['barrierefreiheit'][]='Nicht barrierefrei für Menschen mit Sehbehinderung / Blindheit';

$input_array['person']['memo_barrierefreiheit']='Ein guter Bürostuhl mit höhenverstellbarem Schreibtisch wäre ideal. '.date('H:i', time()); // varchar, max 500

// weitere Freitextfelder
$input_array['person']['fahrkosten']='ja, Erstattung '.date('H:i', time()); // varchar, max 100
$input_array['person']['aufwandsentschaedigung']='Bezahlung in Essensmarken '.date('H:i', time()); // varchar, max 100
$input_array['person']['sonstige_leistungen']='Massage inklusive '.date('H:i', time()); // varchar, max 100

// Erwartungen an die Agentur, Freitext
$input_array['person']['erwartungen_an_agentur']='Beratung bei der Gewinnung neuer Freiwilliger'; // varchar, max 255

$input_array['person']['freitext_zeiteinteilung']='Meine Vorstellungen zur Zeit'; // varchar(500)
$input_array['person']['engagement_datum_von']='2015-05-30'; // (ISODAte) YYYY-MM-DD "Wann soll das Engagement starten"
$input_array['person']['engagement_datum_bis']='2015-08-13'; // (ISODAte) YYYY-MM-DD "Bis wann soll das Engagement gehen"

/*
 * Matchingkategorien und -kriterien
 * 
 * HINWEIS: Klären Sie mit der Agentur, welche Matchingkategorien für Personen genutzt werden!!
 * Schauen Sie hier, welche Kategorien möglich sind:
 * https://freinet-online.de/query/stats.php?agencyID=&accessKey=
 *
 * Die wichtigsten Matchingkategorien: - Arbeitsweise (z.B. mit den Kriterien "Arbeit eher alleine", "Arbeit im Team" etc.)
 *                                     - Globalbereich (z.B. Kultur, Soziales, Politik etc.)
 *                                     - Zielgruppen (z.B. Kinder, Jugendliche, SeniorInnen etc.)
 *                                     - Handlungsfelder
 *                                     - Sprachen
 * Für eine umfangreiche Liste der Kategorien und ihrer Kriterien siehe http://freinet-online.de/api/ (Dort können Sie für Ihre Agentur eine individuelle Liste anzeigen lassen)
 * Kriterien können als Array ODER CSV mit ";" als Separator übertragen werden.
 * Kriterien können als Text (z.B. SeniorInnen) oder als ID (2;15;150) übertragen werden (Freinet empfielt die Textvariante)
 */
/*
// MatchingKategorie "Zielgruppen"
$input_array['person']['zielgruppen'][1]='Senioren';
$input_array['person']['zielgruppen'][2]='Kinder';
$input_array['person']['zielgruppen'][3]='Rademachers';

// MatchingKategorie "Kenntnisse"
$input_array['person']['kenntnisse'][2]='2'; // Sie können auch die Freinet-KriterienID übertragen, sofern sie bekannt ist (siehe http://freinet-online.de/api/)
// Achtung: Es gibt keine Fehlerprüfung auf falsche/nicht existente IDS!

// MatchingKategorie "Globalbereiche"
$input_array['person']['globalbereiche'][1]='Soziales';
$input_array['person']['globalbereiche'][2]='Kultur';

// MatchingKategorie "Handlungsfelder"
$input_array['person']['handlungsfelder']='Kultur;Geschlechter; Eine Welt';
*/

$input_array['person']['arbeitsweise']='Arbeit mit Gruppen';

$input_array['person']['zielgruppen']='Pappnasen';

/*
 * Freitextfelder zu den Matchingkriterien
 * Jede Matchingkategorie verfügt auch über ein Freitextfeld, um weitere Infos zu speichern.
 */
$input_array['person']['zielgruppen_memo']='Ein wenig MemoText zu den Zielgruppen '.date('H:i', time());
$input_array['person']['globalbereiche_memo']='Ein wenig MemoText zu den Globalbereiche '.date('H:i', time());
$input_array['person']['handlungsfelder_memo']='Ein wenig MemoText zu den Handlungsfelder '.date('H:i', time());
$input_array['person']['sprachen_memo']='Ein wenig MemoText zu den Sprachen '.date('H:i', time());


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


// Verschieben in Papierkorb
// HIWEIS: Wenn eine Person veröffentlicht ist und in den Papierkorb verschoben wird, wird die Veröffentlichung gelöscht!
// 		   Das heisst, das "Testlöschungen" den unangenehmen Nebeneffekt haben, daß die Wiederveröffentlichung extra geschehen muss (im Zweifel durch einen Mitarbeiter der Freiwilligenagentur)
//		   Darum also Löschungen z.B. mit Zwischenabfrage oder einem entsprechenden Hinweis vermerken.
$input_array['person']['send_to_trash']='0'; // 0 (Standard) | 1=In Papierkorb
$input_array['person']['send_to_trash_reason']='Testlöschvorgang '.date('H:i', time()); // varchar(255) Grund für Löschvorgang (optional)


/***********************************************************
 * 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['person']['unsupported']['Frage']='Antwort '.date('H:i', time());
$input_array['person']['unsupported']['foo']='bar '.date('H:i', time());
$input_array['person']['unsupported']['Sonderzeichen']='frägt man sich " ab und\'s an.  '.date('H:i', time());


/***********************************************************
 * Teil 4) Adressdaten
 * "Ein Freinet-Datensatz kann mehrere Adressen haben"
 *
 * possible adress_typs: (AdressTypen pro Datensatz nicht doppelt nutzen (z.B. zweimal Hauptanschrift erzeugt eine Fehlermeldung!) )
 *          $AdressTypen[1]='Hauptanschrift';
 *          $AdressTypen[3]='Verwaltungsanschrift';
 *          $AdressTypen[2]='1. Kontaktperson';
 *          $AdressTypen[4]='2. Kontaktperson';
 *          $AdressTypen[5]='Sonstige address';
 *          $AdressTypen[6]='weitere Ansprechpartner';
 *
 * possible adress_fields:
 *          adress_vorname
 *          adress_nachname
 *          adress_funktion (z.B. Sekretärin, Vorstand etc.)
 *          adress_strasse
 *          adress_plz
 *          adress_ort
 *          adress_mail1    Haupt-E-Mail-address
 *          adress_mail2
 *          adress_homepage
 *          adress_tel_d    dienstlich
 *          adress_tel_p    privat
 *          adress_mobil
 *          adress_fax
 *          adress_facebook (full URL to profile)
 *          adress_googleplus (full URL to profile)
 *          adress_twitter (full URL to profile)
 *          adress_youtube (full URL to profile)
 *          adress_anrede (z.B. Hallöchen Markus) (nur in besonderen Fällen - Freinet hat verschiedene Routinen zum erstellen von Briefanreden)
 *          adress_standort (z.B. zweite Etage, linke Tür)
 *          adress_anfahrt (max 255)
 *          adress_memo (max 255) (interner Gebrauch)
 *          adress_hinweis (max 255) (wird auch in Veröffentlichungen angezeigt)
 *          geo_breite (double) Geodaten, Breite
 *          geo_laenge (double) Geodaten, Länge
 */

// Adresse 1:
$input_array['person']['address'][1]['adress_typ']='1'; // int(1) 1=Hauptanschrift, 2=Verwaltungsanschrift,
// Wenn Sie vertraut sind mit dem Freinet AdressSystem:
// Bitte nutzen Sie bei Personen NICHT adress_vorname und adress_nachname, da diese bereits in $input_array['person']['vorname'] und $input_array['person']['nachname'] Verwendung finden
// !! $input_array['person']['address'][1]['adress_vorname']='Rudi '.date('H:i', time());
// !! $input_array['person']['address'][1]['adress_nachname']='Mustermann '.date('H:i', time());
$input_array['person']['address'][1]['adress_strasse']='Am Festungsgraben 52';
$input_array['person']['address'][1]['adress_plz']='26135';
$input_array['person']['address'][1]['adress_ort']='Oldenburg';
$input_array['person']['address'][1]['adress_tel_p']='+494417705187 '.date('H:i', time());
$input_array['person']['address'][1]['adress_mobil']='+491705207171 '.date('H:i', time());
$input_array['person']['address'][1]['adress_mail1']='rademacher@freinet-online.de'; // <----- Dies ist zugleich die Haupt-E-Mail-Adresse ( wenn address[1][adress_typ]==1 )

// Adresse 2: (optional)
$input_array['person']['address'][2]['adress_typ']='5'; // int(1) 1=Hauptanschrift, 2=Verwaltungsanschrift,
$input_array['person']['address'][2]['adress_memo']='Ein wenig Text für eine weitere Adresse '.date('H:i', time());

/***********************************************************
 * Teil 5) Projekte
 * Sie können den Datensatz mehreren Projekten (Verteilern/Gruppen) zuordnen
 * Zu welchen Projekten der Datensatz hinzugefügt werden soll, erfahren Sie von den Agenturmitarbeiter_innen
 * Sie können den Namen des Projektes eingeben (wenn nicht vorhanden, wird dieser erstellt)
 * Sie können die ID des Projektes eingeben siehe http://freinet-online.de/api/ für weitere Keys
 * __ACHTUNG__ Projekte können NUR hinzugefügt, nicht entfernt werden
 */
$input_array['add_to_project'][1]='Name des Projektes';
$input_array['add_to_project'][2]='2535';

/***********************************************************
 * Teil 6) Protokolle
 * Sie können dem Datensatz gleich ein (bzw. mehrere, max 3) Protokoll hinzufügen
 * __ACHTUNG__ Protokoll können NUR hinzugefügt, nicht entfernt/bearbeitet werden
 */
$input_array['protokoll'][1]['title']='Mein erster Protokolltitel '.date('H:i', time());
$input_array['protokoll'][1]['content']='Mein erstes Protokoll '.date('H:i', time());
$input_array['protokoll'][1]['date']='2015-08-13 12:20:15'; // (ISODAte) YYYY-MM-DD H:i:s || UnixTimestamp

$input_array['protokoll'][2]['title']='Mein zweiter Protokolltitel '.date('H:i', time());
$input_array['protokoll'][2]['content']='Mein zweites Protokoll '.date('H:i', time());
$input_array['protokoll'][2]['date']='1451398015'; // (ISODAte) YYYY-MM-DD H:i:s || UnixTimestamp
/*
 *
 * ENDE der $input_array
 * Sofern Sie Felder vermissen, die regelmäßig mit importiert werden sollen, so kontaktieren Sie uns bitte.
 ***********************************************************************************************************/


/***********************************************************************************************************
 * Versand von $input_array
 */

// Zieladresse
$url='https://freinet-online.de/api/input/v3/personen';


$ch=curl_init($url); // cURL initieren

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

curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); // note the PUT here!

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
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.