2017-04-18 5 views
0

나는 Wit.ai를 사용하여 봇을 쓰고 있는데 컨텍스트를 이해하는 데 문제가 있습니다. 보다 구체적으로 어떻게/언제 설정해야합니다. 내가 이해 했으므로, 예를 들어 재치있는 스토리에 정의 된 함수를 실행할 때와 같이 적합하다고 생각되는 시점에 API에 게시하여 컨텍스트를 설정합니다. 적어도 그것은 아래 코드에서 목표로 삼고있는 접근 방식입니다. 안타깝게도 오류가 발생하지만, 내가 틀린 방식으로 컨텍스트를 설정하려고합니까 아니면 내 Guzzle 게시물에 문제가 있습니까?내 재치있는 로봇에 새 컨텍스트를 게시하는 방법은 무엇입니까?

private function storeUserName($entities) { 
     $witcall = $this->wit->post($this->wit_base_url.'/converse', 
     [ 
      'form_params' => [ 
       'username' => $entities->contact[0]->value 
      ], 
      'query' => [ 
       'v' => '1', 
       'session_id' => 'vk-'.$this->thread_id 
      ], 
      'headers' => [ 
       'Authorization' => 'Bearer '.env('WIT_TOKEN', false) 
      ] 
     ] 
    ); 

    return [ 
     'msg' => 'nice', 
     'type' => 'msg' 
    ]; 
} 

내 오류 :이 form_params이 올바르지 사용하여 보니

ClientException in RequestException.php line 111: 
Client error: `POST https://api.wit.ai/converse?v=1&session_id=vk-1` resulted in a `400 Bad Request` response: 
Unable to parse context in body 

답변

0

json로 변경하고 지금은 잘 작동합니다. 좋아요 :

$call = $this->wit->request('POST', 'converse', [ 
     'json' => $this->context, 
     'query' => [ 
      'v' => '1', 
      'session_id' => 'vk-'.$this->thread_id 
     ] 
    ]);