2017-12-22 30 views
0

PHP에서 webhook을 작성하고 컨텍스트 매개 변수를 읽을 수있는 기능이 필요합니다.대화 상자에서 php webhook을 사용하여 컨텍스트 매개 변수를 읽는 방법

다른 사람이 어떻게 할 수 있는지 이해할 수 있습니까? 여기

내 예를 JSON입니다 : 내가 참조 할 수 있도록하려면

{ 
    "id": "6e774dc2-2323-42b3-bd3c-ab64930f8b92", 
     "timestamp": "2017-12-22T21:12:19.094Z", 
     "lang": "en", 
     "result": { 
     "source": "agent", 
     "resolvedQuery": "Yes", 
     "action": "Triage.Triage-yes", 
     "actionIncomplete": false, 
     "parameters": {}, 
     "contexts": [ 
      { 
      "name": "triage-followup", 
      "parameters": { 
       "triagecriteria": [], 
       "roomEntity.original": "", 
       "roomname": "300", 
       "roomnames.original": "living", 
       "roomid": "200", 
       "context": "", 
       "roomnames": [ 
       "living" 
       ], 
       "counter": "400", 
       "roomEntity": "100", 
       "triagecriteria.original": "" 
      }, 
      "lifespan": 3 
      } 
     ], 
     "metadata": { 
      "intentId": "ecd4a2e5-65a0-41b2-ac72-edcf4d2e73f2", 
      "webhookUsed": "true", 
      "webhookForSlotFillingUsed": "false", 
      "webhookResponseTime": 203, 
      "intentName": "Triage - yes" 
     }, 
     "fulfillment": { 
      "speech": "Yes", 
      "source": "agent", 
      "displayText": "No", 
      "messages": [ 
      { 
       "type": 0, 
       "speech": "Yes" 
      } 
      ] 
     }, 
     "score": 1 
     }, 
     "status": { 
     "code": 200, 
     "errorType": "success", 
     "webhookTimedOut": false 
     }, 
     "sessionId": "db8c1a4e-fa0c-4257-a536-78b63879eef9" 
    } 

[결과] [컨텍스트] [매개 변수]

내가

$update_response = file_get_contents("php://input"); 
$update = json_decode($update_response, true, 512, JSON_BIGINT_AS_STRING); 

를 사용하려 값으로 액세스하려면 $ update [ "results"] [ "Contexts"] [ "Parameters"] [ "roomid"]

+0

JSON 디코딩을 사용해 보셨습니까? – singh

+0

예 JSON 디코딩을 사용하여 구문 분석합니다. – PrabS

+0

$ update_response = file_get_contents ("php : // input");을 사용하고 있습니다. $ update = json_decode ($ update_response, true, 512, JSON_BIGINT_AS_STRING); $ update [ "results"] [ "Contexts"] [ "Parameters"] [ "roomid"] – PrabS

답변

0

이름은 대/소문자를 구분합니다. 그리고 후행에주의해야합니다. 항목 중 일부는 숫자로 색인 된 배열이기 때문에이를 색인의 일부로 포함시켜야합니다. 시도해보십시오.

$update["result"]["contexts"][0]["parameters"]["roomid"] 
+0

도움이 된 것을 기쁘게 생각합니다! 수락 및/또는 상향 답변으로 항상 좋은 답변을 얻으실 수 있습니다. – Prisoner