$OneSignalApp, 'included_segments' => array($in["included_segments"]), // "Subscribed Users", /* 'data' => array("foo" => "bar"), */ 'contents' => array( "en" => $in["message"] ) ); $fields = json_encode($fields); //print("\nJSON sent:\n"); //print($fields); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $OneSignalUrl); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Accept: application/json', 'Content-Type: application/json; charset=utf-8', 'Authorization: Basic "'.$OneSignalKey."'")); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_HEADER, FALSE); curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); $response = curl_exec($ch); curl_close($ch); //echo "
${response}";
if ($response != "") {
$data = json_decode($response,true);
if (is_array($data) && count($data)>0) {
$out["data"] = $data;
if (array_key_exists("recipients",$data) && $data["recipients"] > 0
&& (!array_key_exists("errors",$data) || count($data["errors"]) < 1)) {
$out["status"] = "Sent to ".$data["recipients"]." recipeint(s)";
$out["result"] = 1;
} else {
$out["status"] = "errors: ".
(array_key_exists("errors",$data)?json_encode($data["errors"]):"unknown error");
}
} else {
$out["status"] = "Invalid OneSignal API response: ".$response;
}
} else {
$out["status"] = "Missing OneSignal API response";
}
return $out;
}
}