/**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function postBox()
 {
     $key = \Input::get('key');
     $appname = \Input::has('app') ? \Input::get('app') : 'app.name';
     //$user = \Apiauth::user($key);
     $user = \Device::where('key', '=', $key)->first();
     if (!$user) {
         $actor = 'no id : no name';
         \Event::fire('log.api', array($this->controller_name, 'post', $actor, 'device not found, upload image failed'));
         return \Response::json(array('status' => 'ERR:NODEVICE', 'timestamp' => time(), 'message' => 'Device Unregistered'));
     }
     $json = \Input::all();
     $batch = \Input::get('batch');
     $result = array();
     foreach ($json as $j) {
         //$j['mtimestamp'] = new \MongoDate(time());
         if (is_array($j)) {
             $blog = new \Boxid();
             foreach ($j as $k => $v) {
                 $blog->{$k} = $v;
             }
             $blog->appname = $appname;
             $blog->mtimestamp = new \MongoDate(time());
             $box = \Box::where('delivery_id', '=', $blog->deliveryId)->where('merchant_trans_id', '=', $blog->merchantTransId)->where('fulfillment_code', '=', $blog->fulfillmentCode)->where('box_id', '=', $blog->boxId)->first();
             if ($box) {
                 if ($appname == \Config::get('jex.pickup_app')) {
                     $box->pickupStatus = $blog->pickupStatus;
                 } elseif ($appname == \Config::get('jex.hub_app')) {
                     $box->warehouseStatus = $blog->warehouseStatus;
                 } else {
                     $box->deliveryStatus = $blog->deliveryStatus;
                     $box->courierStatus = $blog->courierStatus;
                 }
                 $box->save();
             }
             $r = $blog->save();
             if ($r) {
                 $result[] = array('status' => 'OK', 'timestamp' => time(), 'message' => 'log inserted');
             } else {
                 $result[] = array('status' => 'NOK', 'timestamp' => time(), 'message' => 'insertion failed');
             }
         }
     }
     //print_r($result);
     //die();
     $actor = $user->identifier . ' : ' . $user->devname;
     \Event::fire('log.api', array($this->controller_name, 'get', $actor, 'sync scan log'));
     return Response::json($result);
 }