투표소
폴링 자원은 데이터에 대한 특정 요청에 대한 정보를 포함합니다. 설문 조사가 만들어지면 요청을 완료하기 위해 하나 이상의 작업 생성이 시작됩니다.
속성
이름 | 유형 | 설명 |
---|---|---|
id | 설문조사 ID | 리소스 식별자. |
resource | 문자열, 항상 poll | 리소스 유형 지정자. |
organisation | 조직 ID | 이 리소스와 연결된 조직입니다. |
key | 키 ID | 이 리소스와 연결된 키입니다. |
user | 사용자 ID | 이 리소스와 연결된 사용자입니다. |
source | 소스 ID | 설문조사가 타겟팅하는 소스입니다. 이는 세션 소스의 하위 소스일 수 있습니다. |
session | 세션 ID | 설문조사에서 사용 중인 세션입니다. |
subscription | 선택적 구독 ID | 해당되는 경우 연관된 구독 객체 ID입니다. |
tasks_pending | 작업 ID 목록 | 처리를 기다리고 있는 폴링과 관련된 작업입니다. |
tasks_processing | 작업 ID 목록 | 처리 중인 설문조사와 관련된 작업입니다. |
tasks_succeeded | 작업 ID 목록 | 성공한 폴링과 관련된 작업입니다. |
tasks_failed | 작업 ID 목록 | 실패한 폴링과 관련된 작업입니다. |
tasks_suspended | 작업 ID 목록 | 일시중단된 설문조사와 관련된 작업입니다. |
results | 결과 개체를 포함하는 목록 개체 | 설문 조사 작업에 의해 생성된 결과 개체 목록입니다. |
errors | 오류 객체를 포함하는 객체 목록 | 설문 조사 작업으로 생성된 오류 개체 목록입니다. |
state | 끈 | 다음 중 하나: pending , processing , completed . |
date_created | 날짜 시간 | 리소스가 생성된 시간입니다. |
date_started | 선택적 날짜/시간 | 설문조사 처리가 시작된 시간입니다. |
date_completed | 선택적 날짜/시간 | 설문조사 처리가 완료되면 |
작업
폴링 리소스의 가장 중요한 역할은 관련 작업의 진행률을 반영하고 최종 사용자가 결과가 나 오자마자 결과를 가져 오는 것을 허용하는 것입니다. 따라서 폴 자원은 관련 태스크가 해당 상태에 따라 분류되는 태스크 관련 속성을 노출합니다.
결과
설문 조사 내에서 실행중인 태스크가 공개 한 모든 결과는 설문 조사의 results
속성에 표시됩니다. 이렇게하면 설문 조사가 완료되기 전에 결과를 사용할 수 있습니다.
오류
설문 조사 내에서 실행중인 태스크로 인해 발생한 모든 오류는 설문 조사의 errors
속성에 나타납니다.
주
설문 조사 상태는 설문 조사가 초기화 pending
( pending
), 진행 중 ( processing
) 또는 모든 작업 완료 ( completed
pending
)인지 여부 만 반영합니다.
설문 조사는 관련 작업을 통한 오류 상태 이외의 오류 상태를 반영하지 않습니다.
유효 탑재량
폴링 페이로드는 검색해야하는 정보 유형, 데이터 유형 및 파일 유형을 나타냅니다. 폴 페이로드 속성 스키마는 아래에 설명되어 있습니다.
이름 | 유형 | 설명 |
---|---|---|
info_types | info_type 객체 목록 | 검색해야 하는 정보 유형을 지정합니다. 와일드카드 * 지원합니다. |
data_types | data_type 객체 목록 | 검색해야 하는 데이터 유형을 지정합니다. |
files | file ID 목록입니다. | 검색할 파일을 지정합니다. |
filters | 중첩된 filters 객체 | 검색된 데이터에 적용할 필터를 지정합니다. |
skip_files |
boolean | If set to true the poll will skip looking up and publishing attachments files, which includes any assets from photos or video feeds. |
예를 들어, iCloud 계정 소스에서 모든 유형의 정보를 검색하기위한 폴 페이로드는 다음과 같습니다.
{ "info_types": ["*"] }
iCloud 백업 또는 Reincubate Relay 소스에서 특정 날짜에서만 다양한 메시징 데이터를 검색하려면 다음을 수행하십시오.
{ "data_types": ["ios_messages.messages", "whatsapp.messages", "viber.messages"], "filters": { "since": "2019-09-15T22:04:12Z", "until": "2021-06-02T12:00:00Z" } }
iCloud 사진 보관함 결과에서 참조 된 이미지의 파일 데이터를 검색하려면 :
{ "files": ["icpl://xyz123", "icpl://abc321"] }
다른 속성을 동시에 사용할 수도 있습니다.
{ "info_types": ["*"], "data_types": ["ios_phone.calls"] }
필터
필터를 사용하면 클라이언트는 관심이 있을 것 같은 데이터로만 반환되는 데이터의 양을 줄일 수 있습니다. 예를 들어 SMS 데이터에 대한 설문 조사를 지난 달의 데이터로만 필터링할 수 있습니다.
이름 | 유형 | 설명 |
---|---|---|
since | 선택적 날짜/시간 | 이 날짜 시간 이후에 생성된 데이터만 필터링합니다. |
until | 선택적 날짜/시간 | 이 날짜 시간 이전에 생성된 데이터만 필터링합니다. |
phone_numbers | 선택적 배열 | 이 목록의 전화번호와 관련된 데이터만 필터링합니다. |
email_addresses | 선택적 배열 | 이 목록의 이메일 주소와 관련된 데이터만 필터링합니다. |
구독 폴 페이로드의 필터
정기 폴링을 생성하기 위해 구독을 사용하는 경우 폴 페이로드에 설정된 모든 필터는 구독의 초기 폴링에만 사용됩니다. 그 후 API는 다음을 수행합니다.
- 동일한 간격을 반복적으로 다시 폴링하는 것을 피하기 위해
until
의 모든 값은 무시됩니다. -
until
설정된 경우 다음 폴링에서는 해당 시점부터 데이터를 가져옵니다. -
until
설정되지 않은 경우 다음 폴링은 초기 폴링 시점부터 데이터를 가져옵니다. 즉, API는 평소처럼 점진적으로 폴링합니다.
데이터 수준 필터
phone_numbers
및 email_addresses
와 같은 데이터 수준 필터는 처리된 데이터를 귀하와 관련된 항목으로 줄이는 데 도움이 됩니다. 이는 필터 목록의 값 중 하나와 일치하는 다른 항목과 일치하지 않거나 관련되지 않은 데이터 항목을 삭제하는 포함 필터입니다. 예를 들어 아래 페이로드를 살펴보세요.
{ "data_types": ["ios_messages.messages"], "filters": { "phone_numbers": ["0123456789"], "email_addresses": ["test@example.com"] } }
그러면 그룹 대화를 포함하여 지정된 전화번호나 이메일 주소와 관련된 대화와 관련된 iOS 메시지의 모든 메시지가 반환됩니다. 많은 연락처에는 메시지의 iCloud 계정과 같이 전화번호와 이메일 식별 계정이 혼합되어 있으므로 필터링할 여러 값을 지정하는 것이 도움이 될 수 있습니다.
전화번호의 경우 필터 비교가 이루어질 때 모든 특수 문자가 무시됩니다. 예를 들어 (415) 555‑0132
4155550132
와 동일하며 하위 문자열도 사용될 수 있습니다. 예를 들어 4155550132
는 (415) 555‑0132
일치하고 +1 (415) 555‑0132
. 일반적으로 국제 전화 코드를 피하는 등 약간 덜 구체적인 필터 값을 사용하면 보다 일관된 결과를 얻을 수 있습니다.
POST /polls
만들기 만들기
특정 세션에 대한 데이터 폴링을 작성하십시오.
source
매개 변수는 세션 기본 소스의 하위 소스를 대상으로하는 경우에만 사용해야합니다. 예를 들어 rirelay.source
에서 데이터를 검색하는 경우 source
매개 변수는 해당 소스의 ID 여야합니다.
이름 | 유형 | 설명 |
---|---|---|
key | 선택사항, 키 ID | 선택적으로 이 폴링에 사용된 키를 재정의합니다. 이는 사용자가 새로운 기능을 시험해 볼 수 있도록 할 때 유용합니다. |
source | 선택사항, 소스 ID | 선택적으로 세션 연결 소스의 하위 소스를 대상으로 지정합니다. |
session | 세션 ID | 데이터 검색을 인증하는 데 사용되는 세션입니다. |
subscription | 구독 ID | 폴링을 수행하는 데 사용할 구독입니다. 이를 제공하는 경우 source 및 session 생략할 수 있습니다. |
payload | 중첩된 폴 페이로드 | 폴링을 지정하는 데 사용되는 폴링 페이로드 |
cURL 사용
curl https://ricloud-api.reincubate.com/polls \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "session": "<session ID>", "payload": { "info_types": ["*"] } }'
ricloud-py 사용하기
import ricloud poll_payload = { 'info_types': ['*'], } poll = ricloud.Poll.create( session='<session ID or ricloud.Session instance>', payload=poll_payload, )
샘플 응답
{ "id": "54554389-5f1a-4ccf-9bb8-024a031cf948", "resource": "poll", "organisation": 1, "key": 1, "user": 1, "source": 1, "session": "f5a7a7ef-ff21-47fe-9aa6-7ebd08123623", "subscription": null, "tasks_pending": [], "tasks_processing": [], "tasks_succeeded": [], "tasks_failed": [], "tasks_suspended": [], "results": { "data": [], "has_more": false, "total_count": 0, "url": "/polls/54554389-5f1a-4ccf-9bb8-024a031cf948/results" }, "errors": { "data": [], "has_more": false, "total_count": 0, "url": "/polls/54554389-5f1a-4ccf-9bb8-024a031cf948/errors" }, "state": "pending", "date_created": "2020-02-20T11:59:14.694337Z", "date_started": null, "date_completed": null }
GET /polls/{poll ID}
cURL 사용
curl https://ricloud-api.reincubate.com/polls/<poll ID> \ -H 'Authorization: Token <your key_token>'
ricloud-py 사용하기
import ricloud poll = ricloud.Poll.retrieve(<poll ID>)
GET /polls
나열
이름 | 유형 | 설명 |
---|---|---|
key | 키 ID | 연결된 키로 필터링합니다. 당시 사용자가 사용하는 키입니다. |
user | 사용자 ID | 연결된 사용자별로 필터링합니다. |
source | 소스 ID | 대상 소스로 필터링합니다. |
session | 세션 ID | 대상 세션을 기준으로 필터링합니다. |
subscription | 구독 ID | 연결된 구독으로 필터링합니다. |
state | 끈 | 세션 상태별로 필터링합니다. |
date_created | 날짜/시간 필터 | 리소스가 생성된 날짜를 기준으로 필터링합니다. |
date_started | 날짜/시간 필터 | 설문조사가 시작된 시간을 기준으로 필터링합니다. |
date_completed | 날짜/시간 필터 | 설문조사가 완료된 시간을 기준으로 필터링하세요. |
cURL 사용
curl https://ricloud-api.reincubate.com/polls \ -H 'Authorization: Token <your key_token>'
ricloud-py 사용하기
import ricloud polls = ricloud.Poll.list()
변경 로그
2023-11-28
email_addresses
및phone_numbers
필터에 대한 지원이 추가되어 특정 연락처와 관련된 데이터만 검색할 수 있습니다.
2022-07-08
- SMS 추출을 위해 폴링 페이로드의 필터
until
지원이 추가되었습니다. 이는 클라이언트가 데이터를 검색할 정확한 날짜/시간 범위를 지정할 수 있도록since
필터를 보완합니다.
2020-05-05
-
errors
속성이 폴링 오브젝트에 추가되었습니다. 이것은 폴과 연관된 오류 오브젝트를 포함하는 중첩 목록 오브젝트입니다.
2020-02-20
- Major : poll 객체의
results
속성은 이제 단순한 list 속성이 아니라 중첩 된 목록 객체입니다. 따라서 설문 조사에서 많은 수의 결과를 게시 할 때 결과를 페이지 매김 할 수 있습니다.
2019-10-16
-
subscription
이 폴링을 트리거했는지 여부를 표시하기 위해subscription
속성을 폴링 오브젝트에 추가합니다.
2019-06-01
- 폴링 오브젝트
payload
속성은 이제 여러 조작 유형으로 구성 될 수 있습니다. 이는 페이로드에서info-types
,data-types
및files
중 일부 또는 전부를 사용하여 폴링을 작성할 수 있음을 의미합니다. - 중요 사항 폴링 오브젝트의
type
속성은 작성 가능한 폴링 페이로드를 위해 더 이상 사용되지 않습니다.