/query
카카오톡 데이터베이스에 대한 SQL 쿼리를 실행합니다. 응답에서 암호화된 데이터 필드를 자동으로 복호화합니다.
정보
message
또는 attachment
를 user_id
및 enc
와 함께 쿼리하면 복호화된 값을 반환합니다.
nickname
, profile_image_url
, full_profile_image_url
또는 original_profile_image_url
을 enc
와 함께 쿼리하면 일반 텍스트를
반환합니다.
- 엔드포인트
- 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": [] }, // ... ] }
queries Query[]실행할 쿼리의 배열입니다. |
query stringSQL 쿼리 문자열입니다. |
bind string[]쿼리에 대한 선택적 바인딩입니다. |
예제
- 단일 쿼리
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": "...", // .. }, // ... ] ] }
success boolean요청의 성공 여부입니다. |
data QueryResult[]쿼리 결과에 대한 배열이 담긴 배열입니다. 단일 쿼리의 경우 요소는 1개입니다. 벌크 쿼리의 경우 요소의 개수는 요청으로 전달한 쿼리의 개수입니다. |