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 Ansprechpersonen';
 *
 * 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_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 Ansprechpersonen';
 *
 * 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_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 Ansprechpersonen';
 *
 * 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_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);
		

Vermittlung

Update einer Vermittlung

/********************************
* $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 Ansprechpersonen';
 *
 * 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_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.

Wir verwenden Cookies. Durch die Nutzung unserer Website stimmen Sie der Verwendung von Cookies zu. Mehr erfahren.

Wir verwenden Cookies. Durch die Nutzung unserer Website stimmen Sie der Verwendung von Cookies zu. Mehr erfahren.