getContent(); error_log($content); $data = json_decode($content, true); error_log(print_r($data, true)); // data has id? if (!isset($data['message_id'])) { error_log('SMSDR: no id sent'); $resp = new Response(); $resp->setStatusCode(400); return $resp; } // check structure if (!isset($data['delivered']) || !isset($data['reason_code']) || !isset($data['reason_description']) ) { error_log('SMSDR: bad data structure'); $resp = new Response(); $resp->setStatusCode(400); return $resp; } // find sms $sms = $em->getRepository(SMSMessage::class)->find($data['message_id']); if ($sms == null) { error_log('SMSDR: no sms found'); $resp = new Response(); $resp->setStatusCode(202); return $resp; } $sms->setReasonCode($data['reason_code']); if ($data['delivered']) $sms->setStatus('delivered'); else $sms->setStatus('not_delivered'); $em->flush(); $resp = new Response(); $resp->setStatusCode(202); return $resp; } }