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.

 

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
 

Responses

Responses

Antworten der API erfolgen als JSON Objekt
Success
{
    "STATUS": "OK",
    "EDITED_ANGEBOTID": "{angebot_id}"
}
        
Error
{
    "error": {
        "code": 417,
        "message": "Expectation Failed: TargetAgid missing"
    }
}
        
 

Beispiele

Einrichtung

Update einer Einrichtung

/**
 * Beispielskript, um Einrichtungen in Freinet zu aktualisieren.
 * Sie benötigen:
 * - Die AgenturID der Freiwilligenagentur
 * - Den AccessKey der Freiwilligenagentur (siehe Regiedaten der Agentur im eingeloggten Zustand)
 *
 * Was Sie tun müssen:
 * - Füllen Sie das Array aus   $input_array[init][]      // SetupInfos
 *                              $input_array[einrichtung][]    // EinrichtungInfos
 *                              $input_array[add_to_projekte][] // optional
 *                              $input_array[unsupported][] // optional
 *
 * Die einzelnen Spalten sind im Folgenden (hoffentlich) ausreichend dokumentiert.
 * Das gefüllte Array $input_array wird dann via cURL als json-Objekt an Freinet gesendet.
 * Die Rückmeldung (oder Fehlermeldung) gibt es dann wiederum als json-Objekt zurück
 */

$input_array=array(); // Init

/***********************************************************
 * $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 Einrichtung
 * $input_array['einrichtung']['einrichtung_id']='123456';
 * $input_array['einrichtung']['name']='Vorlesestunde im Kindergarten';
 *
 * Teil 3) Sonstige Infos (optional)
 * $input_array['einrichtung'][unsupported][]='Informationen, Informationen, für die es bei Freinet keine ›Entsprechung‹ gibt. (Die Informationen werden gesondert angezeigt)';
 *
 * Teil 4) AdressDaten
 * $input_array['einrichtung']['address']['adress_vorname']='Markus';
 * $input_array['einrichtung']['address']['adress_nachname']='Muster';
 * $input_array['einrichtung']['address']['adress_strasse']='Am Musterweg';
 * $input_array['einrichtung']['address']['adress_plz']='26135';
 * $input_array['einrichtung']['address']['adress_ort']='Oldenburg';
 *
 * Teil 5) Projekte (optional)
 * $input_array['add_to_project'][1]='Name des Projektes'; // Der Datensatz "Einrichtung" 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]='2020-12-29';
 *
 * HINWEIS 1: Beachten Sie die Möglichkeiten zur (exklusiven) Statusänderung -> siehe $input_array['einrichtung']['einrichtung_status']
 * HINWEIS 2: Beachten Sie die Möglichkeiten zum Löschen eines Einrichtunges -> siehe $input_array['einrichtung']['send_to_trash']
 */

/***********************************************************
 * Teil 1) SetupInfos - Einstellungen zur Authorisierung etc.
 */
$input_array['init']['apiVersion']='3.0';
$input_array['init']['agencyID']=''; // Musteragentur
$input_array['init']['accessKey']='';
$input_array['init']['modul']='einrichtung'; // TargetModul freiwillige|einrichtung|angebot|kontakte
$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['einrichtung']['beschreibung'] senden, wird nur dieses Feld upgedatet.)
												   // full_reset: ALLE (von der API unterstützen) Felder werden geleert und es wird neu hinzugefügt.

$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 zum Einrichtung
 * Name des Einrichtunges, Beschreibung etc.
 */
$input_array['einrichtung']['einrichtung_id']='123456'; // Geben Sie hier die ID der Einrichtung ein, die Sie updaten möchten

//$input_array['einrichtung']['einrichtung_name']='Musterverein';

// $input_array['einrichtung']['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['einrichtung']['address'][1]['adress_mail1'] in Verbindung mit $input_array['einrichtung']['address'][1]['adress_typ']==1


$input_array['einrichtung']['einrichtung_status']='1';  // int(1) 0 - Ohne Status
												//        1 - aktiv
												//        2 - Neueintrag (durch Webformular)
												//        10 - Archiv
$input_array['einrichtung']['einrichtung_status_change_only']='0'; // Wenn "1", wird NUR der Status geändert. So brauchen Sie keine weiteren Einrichtung-Angaben mitsenden.


$input_array['einrichtung']['beschreibung']='Ich bin die Beschreibung'; // html, max 10000


$input_array['einrichtung']['sprechzeiten']='Mo-Fr 08.00-16.00 Uhr'; // varchar, max 255

// AnpackerApp
// bitte nur ausfüllen, wenn Sie an der Anpacker-App teilnehmen
$input_array['einrichtung']['anpackerapp_account']=''; // E-Mail


/*
 * Matchingkategorien und -kriterien
 *
 * HINWEIS: Klären Sie mit der Agentur, ob überhaupt Matchingkriterien für Einrichtungen genutzt werden!!
 * 			Wenn NICHT, bitte gänzlich auskommentieren.
 *
 * Die wichtigsten Matchingkategorien: - Zielgruppen (Soziale Landkarte)
 *                                     - Rubriken (Soziale Landkarte)

 * 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['einrichtung']['sozialkatalog_zielgruppen'][]='Senioren';
$input_array['einrichtung']['sozialkatalog_zielgruppen'][]='Menschen mit Behinderungen';
$input_array['einrichtung']['sozialkatalog_zielgruppen'][]='Familien, Mütter, Väter';

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



/*
 * Freitextfelder zu den Matchingkriterien
 * Jede Matchingkategorie verfügt auch über ein Freitextfeld, um weitere Infos zu speichern.
 */

$input_array['einrichtung']['sozialkatalog_zielgruppen_memo']='Ein wenig MemoText zu den Zielgruppen';
$input_array['einrichtung']['sozialkatalog_handlungsfelder_memo']='Ein wenig MemoText zu den Rubriken';


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


// Verschieben in Papierkorb
// HIWEIS: Wenn Angebote einer Einrichtung veröffentlicht sind und die Einrichtung in den Papierkorb verschoben wird, werden die zugehörigen Angebote unveröffentlicht!
// 		   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['einrichtung']['send_to_trash']='0'; // 0 (Standard) | 1=In Papierkorb
$input_array['einrichtung']['send_to_trash_reason']='Testlöschvorgang'; // 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['einrichtung']['unsupported']['Frage']='Antwort';
$input_array['einrichtung']['unsupported']['foo']='bar';
$input_array['einrichtung']['unsupported']['Sonderzeichen']='frägt man sich " ab und\'s an. ';


/***********************************************************
 * 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['einrichtung']['address'][1]['adress_typ']='1'; // int(1) 1=Hauptanschrift, 2=Verwaltungsanschrift,
$input_array['einrichtung']['address'][1]['adress_vorname']='Rudi';
$input_array['einrichtung']['address'][1]['adress_nachname']='Mustermann';
$input_array['einrichtung']['address'][1]['adress_strasse']='Am Festungsgraben 52';
$input_array['einrichtung']['address'][1]['adress_plz']='26135';
$input_array['einrichtung']['address'][1]['adress_ort']='Oldenburg';
$input_array['einrichtung']['address'][1]['adress_tel_p']='+494417705187';
$input_array['einrichtung']['address'][1]['adress_mobil']='+491705207171';
$input_array['einrichtung']['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['einrichtung']['address'][2]['adress_typ']='5'; // int(1) 1=Hauptanschrift, 2=Verwaltungsanschrift,
$input_array['einrichtung']['address'][2]['adress_memo']='Ein wenig Text für eine weitere Adresse';

/***********************************************************
 * 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';
$input_array['protokoll'][1]['content']='Mein erstes Protokoll';
$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';
$input_array['protokoll'][2]['content']='Mein zweites Protokoll';
$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/einrichtung/'.$input_array['einrichtung']['einrichtung_id'];


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

Angebot

Update einer Einrichtung mit Angebot

/**
 * Beispielskript, um Angebote in Freinet zu aktualisieren.
 * Sie benötigen:
 * - Die AgenturID der Freiwilligenagentur
 * - Den AccessKey der Freiwilligenagentur (siehe Regiedaten der Agentur im eingeloggten Zustand)
 *
 * Was Sie tun müssen:
 * - Füllen Sie das Array aus   $input_array[init][]      // SetupInfos
 *                              $input_array[angebot][]    // AngebotInfos
 *                              $input_array[add_to_projekte][] // optional
 *                              $input_array[unsupported][] // optional
 *
 * Die einzelnen Spalten sind im Folgenden (hoffentlich) ausreichend dokumentiert.
 * Das gefüllte Array $input_array wird dann via cURL als json-Objekt an Freinet gesendet.
 * Die Rückmeldung (oder Fehlermeldung) gibt es dann wiederum als json-Objekt zurück
 */

$input_array=array(); // Init

/***********************************************************
 * $input_array eines UserInputs
 *
 * BeispielSetup
 *
 * Teil 1) SetupInfos
 * $input_array['init']['agencyID']='52'; // AgenturID
 * $input_array['init']['accessKey']='gcBc66'; // AccessKey
 *
 * Teil 2) Grunddaten - Infos zum Angebot
 * $input_array['angebot']['angebot_id']='123456';
 * $input_array['angebot']['name']='Vorlesestunde im Kindergarten';
 *
 * Teil 3) Sonstige Infos (optional)
 * $input_array['angebot'][unsupported][]='Informationen, Informationen, für die es bei Freinet keine ›Entsprechung‹ gibt. (Die Informationen werden gesondert angezeigt)';
 *
 * Teil 4) AdressDaten
 * $input_array['angebot']['address']['adress_vorname']='Rudi';
 * $input_array['angebot']['address']['adress_nachname']='Mustermann';
 * $input_array['angebot']['address']['adress_strasse']='Am Musterweg';
 * $input_array['angebot']['address']['adress_plz']='26135';
 * $input_array['angebot']['address']['adress_ort']='Oldenburg';
 *
 * Teil 5) Projekte (optional)
 * $input_array['add_to_project'][1]='Name des Projektes'; // Der Datensatz "Angebot" 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]='2020-12-29';
 *
 * HINWEIS 1: Beachten Sie die Möglichkeiten zur (exklusiven) Statusänderung -> siehe $input_array['angebot']['angebot_status']
 * HINWEIS 2: Beachten Sie die Möglichkeiten zum Löschen eines Angebotes -> siehe $input_array['angebot']['send_to_trash']
 */

/***********************************************************
 * Teil 1) SetupInfos - Einstellungen zur Authorisierung etc.
 */
$input_array['init']['apiVersion']='3.0';
$input_array['init']['agencyID']='52'; // Musteragentur
$input_array['init']['accessKey']='gcBc66';
$input_array['init']['modul']='angebot'; // TargetModul freiwillige|einrichtung|angebot|kontakte
$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['angebot']['beschreibung'] senden, wird nur dieses Feld upgedatet.)
												   // full_reset: ALLE (von der API unterstützen) Felder werden geleert und es wird neu hinzugefügt.

$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 zum Angebot
 * Name des Angebotes, Beschreibung etc.
 */
$input_array['angebot']['angebot_id']='101987';

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

// $input_array['angebot']['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['angebot']['address'][1]['adress_mail1'] in Verbindung mit $input_array['angebot']['address'][1]['adress_typ']==1

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

/*
 * Kontaktierbarkeit - Darf die Adresse der Einrichtung/des Angebots 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['angebot']['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['angebot']['beschreibung']='Ich bin die Beschreibung '.date('H:i', time()); // html, max 10000

// Anzahl gesuchter Freiwilliger / Sachspenden
$input_array['angebot']['zahl_min_gesuchter']='3'; // int
$input_array['angebot']['zahl_max_gesuchter']='8'; // int

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

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

$input_array['angebot']['befristet_von']='2016-01-01'; // Unix Timestamp || IsoDate
$input_array['angebot']['befristet_bis']='2016-01-05'; // Unix Timestamp || IsoDate
$input_array['angebot']['zeitlicher_rahmen_freitext']='Ich bin die Beschreibung zum zeitlichen Rahmen '.date('H:i', time()); // varchar, max 500

/*
 * Leistungen (des Angebotes gegenüber dem Freiwilligen)
 * Sofern die ID´s der Leistungen bekannt sind, können diese geliefert werden, andernfalls die Begriffe
 * Achtung, falsch geschriebene oder unbekannte Begriffe werden ignoriert (und nicht etwa neu erstellt)
 * 1 - Anerkennung für Studiengänge
 * 2 - Anleitung durch Fachkräfte
 * 3 - Ausstattung mit Medien / Arbeitsmaterialien
 * 4 - Dienstbesprechungen
 * 5 - Erfahrungsaustausch
 * 6 - Erstattung entstandener Kosten
 * 7 - Fortbildung/Qualifizierungsangebote
 * 8 - Haftpflichtversicherung
 * 9 - kostenlose Ausflüge
 * 10 - kostenlose Nutzung weiterer Angebote
 * 11 - kostenlose Veranstaltungen
 * 12 - kostenlose Verpflegung
 * 13 - regelmäßige Informationen
 * 14 - Supervision
 * 15 - Tätigkeitsnachweise
 * 16 - Unfallversicherung
 * 17 - Unterstützung beim Aufbau neuer Tätigkeiten
*/
$input_array['angebot']['leistungen'][]='3';
$input_array['angebot']['leistungen'][]='8';
$input_array['angebot']['leistungen'][]='Erfahrungsaustausch';
$input_array['angebot']['leistungen'][]='Fortbildung/Qualifizierungsangebote';

// weitere Freitextfelder zu den Leistungen
$input_array['angebot']['leistungen_freitext']='Monatliche Ausflüge auf die Bahamas '.date('H:i', time()); // varchar, max 255
$input_array['angebot']['fahrkosten']='ja, Erstattung '.date('H:i', time()); // varchar, max 100
$input_array['angebot']['aufwandsentschaedigung']='Bezahlung in Essensmarken '.date('H:i', time()); // varchar, max 100
$input_array['angebot']['sonstige_leistungen']='Massage inklusive '.date('H:i', time()); // varchar, max 100

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



/*
 * Matchingkategorien und -kriterien
 *
 * HINWEIS: Klären Sie mit der Agentur, welche Matchingkategorien für Angebote genutzt werden!!
 *
 * 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['angebot']['zielgruppen'][1]='Senioren';
$input_array['angebot']['zielgruppen'][2]='Kinder';
$input_array['angebot']['zielgruppen'][3]='Rademachers';

// MatchingKategorie "Kenntnisse"
$input_array['angebot']['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['angebot']['globalbereiche'][1]='Soziales';
$input_array['angebot']['globalbereiche'][2]='Kultur';

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

$input_array['angebot']['zielgruppen']='';

/*
 * Freitextfelder zu den Matchingkriterien
 * Jede Matchingkategorie verfügt auch über ein Freitextfeld, um weitere Infos zu speichern.
 */
$input_array['angebot']['zielgruppen_memo']='Ein wenig MemoText zu den Zielgruppen '.date('H:i', time());
$input_array['angebot']['globalbereiche_memo']='Ein wenig MemoText zu den Globalbereiche '.date('H:i', time());
$input_array['angebot']['handlungsfelder_memo']='Ein wenig MemoText zu den Handlungsfelder '.date('H:i', time());
$input_array['angebot']['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['angebot']['regdate']=date('Y-m-d H:i:s', time()); // "Erstell/Registrierungsdatum" (ISODate or Unixtimestamp)
//$input_array['angebot']['dateline']=''; // "zuletzt bearbeitet" (ISODate or Unixtimestamp)


// Verschieben in Papierkorb
// HIWEIS: Wenn ein Angebot 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['angebot']['send_to_trash']='0'; // 0 (Standard) | 1=In Papierkorb
$input_array['angebot']['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['angebot']['unsupported']['Frage']='Antwort '.date('H:i', time());
$input_array['angebot']['unsupported']['foo']='bar '.date('H:i', time());
$input_array['angebot']['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['angebot']['address'][1]['adress_typ']='1'; // int(1) 1=Hauptanschrift, 2=Verwaltungsanschrift,
$input_array['angebot']['address'][1]['adress_vorname']='Rudi '.date('H:i', time());
$input_array['angebot']['address'][1]['adress_nachname']='Mustermann '.date('H:i', time());
$input_array['angebot']['address'][1]['adress_strasse']='Am Festungsgraben 52';
$input_array['angebot']['address'][1]['adress_plz']='26135';
$input_array['angebot']['address'][1]['adress_ort']='Oldenburg';
$input_array['angebot']['address'][1]['adress_tel_p']='+494417705187 '.date('H:i', time());
$input_array['angebot']['address'][1]['adress_mobil']='+491705207171 '.date('H:i', time());
$input_array['angebot']['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['angebot']['address'][2]['adress_typ']='5'; // int(1) 1=Hauptanschrift, 2=Verwaltungsanschrift,
$input_array['angebot']['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/angebot/'.$input_array['angebot']['angebot_id'];


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

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, Informationen, für die es bei Freinet keine ›Entsprechung‹ gibt. (Die Informationen werden gesondert angezeigt)';
 *
 * 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']='2020-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';

// $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'; // 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)'; // 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.'; // varchar, max 500

// weitere Freitextfelder
$input_array['person']['fahrkosten']='ja, Erstattung'; // varchar, max 100
$input_array['person']['aufwandsentschaedigung']='Bezahlung in Essensmarken'; // varchar, max 100
$input_array['person']['sonstige_leistungen']='Massage inklusive'; // 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';
$input_array['person']['globalbereiche_memo']='Ein wenig MemoText zu den Globalbereiche';
$input_array['person']['handlungsfelder_memo']='Ein wenig MemoText zu den Handlungsfelder';
$input_array['person']['sprachen_memo']='Ein wenig MemoText zu den Sprachen';


// 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'; // 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';
$input_array['person']['unsupported']['foo']='bar';
$input_array['person']['unsupported']['Sonderzeichen']='frägt man sich " ab und\'s an. ';


/***********************************************************
 * 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';
// !! $input_array['person']['address'][1]['adress_nachname']='Mustermann';
$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';
$input_array['person']['address'][1]['adress_mobil']='+491705207171';
$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';

/***********************************************************
 * 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';
$input_array['protokoll'][1]['content']='Mein erstes Protokoll';
$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';
$input_array['protokoll'][2]['content']='Mein zweites Protokoll';
$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.