Leyendo un poco la documentación encuentras que envía 2 variables mediante post
Cita: ¿Qué información se enviará?
Nuestro servidor enviará al momento toda la información de los usuarios que se registren en la aplicación a la URL de Webhook siguiendo el método POST.
DATA.JSON
La información registrada a través del formulario de registro en formato JSON. Por ejemplo:
{"User":{"id":"618148992","name":"Edgard Massot Casademont","first_name":"Edgard","last_name":"Mas sot Casademont","fbuid":"1425878509","created":"2016-07-20 17:26:31","public_entry":"0","device":"","date":"J ul.20.2016 17:26"},"Recruiter":[]}
KEY
Es el nombre o referencia que has configurado a través del campo 'Webhook Key' en la integración con Webhook de la aplicación Easypromos.
Por lo que tu Script debería quedar algo asi:
Código PHP:
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$json = $_POST['DATA.JSON']; /* Accedes al JSON devuelto */
$a = json_decode($json);
foreach($a as $b=>$c){
$d = $b.'=>'.$c.'<br>';
fwrite($myfile, $d);
}
fclose($myfile);
Igualmente revisa el log de error.
También puedes probar a volcar $_POST como si fuera un var_dump directamente al archivo y ver como esta construido el post devuelto.
Código PHP:
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$d = var_export($_POST, true);
fwrite($myfile, $d);
fclose($myfile);