/query

카카오톡 데이터베이스에 대한 SQL 쿼리를 실행합니다. 응답에서 암호화된 데이터 필드를 자동으로 복호화합니다.

정보

message 또는 attachmentuser_idenc와 함께 쿼리하면 복호화된 값을 반환합니다. nickname, profile_image_url, full_profile_image_url 또는 original_profile_image_urlenc와 함께 쿼리하면 일반 텍스트를 반환합니다.

엔드포인트
POST/query
Content-Type

application/json

요청

본문

단일 쿼리
벌크 쿼리
{
  "query": "[SQL_QUERY]",
  "bind": ["[BINDING_VALUE_1]", "[BINDING_VALUE_2]", ...]
}
{
  "queries": [
    {
      "query": "[SQL_QUERY_1]",
      "bind": ["[BINDING_VALUE_1]", "[BINDING_VALUE_2]", ...]
    },
    {
      "query": "[SQL_QUERY_2]",
      "bind": []
    },
    // ...
  ]
}
queriesQuery[]

실행할 쿼리의 배열입니다.

querystring

SQL 쿼리 문자열입니다.

bindstring[]

쿼리에 대한 선택적 바인딩입니다.

예제

  • 단일 쿼리
curl -d '{"query": "SELECT _id, chat_id, user_id, message FROM chat_logs WHERE user_id = ? ORDER BY _id DESC LIMIT 5", "bind": ["1234567890"]}' \
  -H "Content-Type: application/json" \
  -X POST http://[YOUR_DEVICE_IP]:[bot_http_port]/query
  • 벌크 쿼리
curl -d '{"queries": [{"query": "SELECT _id, chat_id, user_id, message FROM chat_logs ORDER BY _id DESC LIMIT 5", "bind": []}, {"query": "SELECT name FROM db2.friends LIMIT 2", "bind": []}]}' \
  -H "Content-Type: application/json" \
  -X POST http://[YOUR_DEVICE_IP]:[bot_http_port]/query

응답

{
  "success": true,
  "data": [
    [
      {
        "_id": "...",
        "chat_id": "...",
        "user_id": "...",
        "message": "...",
        // ..
      },
      // ...
    ]
  ]
}
successboolean

요청의 성공 여부입니다.

dataQueryResult[]

쿼리 결과에 대한 배열이 담긴 배열입니다. 단일 쿼리의 경우 요소는 1개입니다. 벌크 쿼리의 경우 요소의 개수는 요청으로 전달한 쿼리의 개수입니다.