يُحمّل البحث عند استخدامه فقط. تصفّح جميع الفئات أدناه.

التحليلات والرؤى

معاينة حقول قالب التقرير المرتبطة

معاينة حقول قالب التقرير المرتبطة. يستخدم مجموعة البيانات والإصدار المحددين صراحةً بعد المراجعة؛ ولا يحدّث المصدر تلقائياً. يمكن تمرير مدخلات الإخراج عبر قناة إلى sosoapi report render --output FILE.

POST /analytics-api/reporting/templates/preview

مراجعة العقد: · sha256:d6e85a113e8fb367

نظرة عامة

معاينة حقول قالب التقرير المرتبطة. يستخدم مجموعة البيانات والإصدار المحددين صراحةً بعد المراجعة؛ ولا يحدّث المصدر تلقائياً. يمكن تمرير مدخلات الإخراج عبر قناة إلى sosoapi report render --output FILE.

قد يعني نجاح HTTP قبول الطلب لا اكتماله. للعمل الخلفي، احفظ المعرّف المُعاد وتابع العملية نفسها حتى تنتهي. لا يُعدّ المنشور المجدول أوالمقبول منشوراً حتى تأكيد المنصة؛ انتهاء مهلة العميل لا يثبت النتيجة.

المصادقة والأذونات

فئات بيانات الاعتماد المقبولة
user_session, delegated_oauth, personal_access_token
إمكانية مفوّضة
agent:operate
الحد الأدنى لدور مساحة العمل
viewer
نطاق الوصول
الموارد التي يحق لهذا المستخدم الوصول إليها
تلزم موافقة تشمل جميع مساحات العمل
لا
يغيّر الحالة
لا
متى تُعدّ العملية مكتملة
synchronous_http_response

لا يستخدم الرمز إلا حقوق مالكه. يفحص كل طلب عضوية مساحة العمل وملكية المورد والمساحات المحددة والإمكانات الممنوحة. يغيّر core و full الأدوات المعروضة؛ ولا يمنحان وصولاً.

حقول الطلب

تعني «مطلوب» داخل الكائن الأب والفرع المختار. الحقل الابن المطلوب لا يجعل الأب الاختياري مطلوباً. نُسخت القواعد وأسماء الحقول أدناه من العقد.

حقول الطلب
الحقل / الفرعالنوع / مطلوبالقيود
$objectمطلوب في العنصر الأب
  • additionalProperties: false
workspace_idstringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
idstringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
versionintegerمطلوب في العنصر الأب
  • minimum: 1
  • maximum: 1000000
datasetobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.contractVersionstringمطلوب في العنصر الأب
  • const: "analytics-report/v1"
dataset.idstringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.reviewedAtstringمطلوب في العنصر الأب
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.selectionobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.selection.workspaceIdstringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.selection.accountIdsarrayمطلوب في العنصر الأب
  • minItems: 1
  • maxItems: 50
dataset.selection.accountIds[]stringاختياري / عنصر
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.selection.platformsarrayمطلوب في العنصر الأب
  • minItems: 1
  • maxItems: 4
dataset.selection.platforms[]stringاختياري / عنصر
  • enum: ["facebook","instagram","threads","youtube"]
dataset.selection.startDatestringمطلوب في العنصر الأب
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.selection.endDatestringمطلوب في العنصر الأب
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.selection.timezonestringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.accountsarrayمطلوب في العنصر الأب
  • maxItems: 50
dataset.accounts[]objectاختياري / عنصر
  • additionalProperties: false
dataset.accounts[].idstringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.accounts[].workspaceIdstringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.accounts[].platformstringمطلوب في العنصر الأب
  • enum: ["facebook","instagram","threads","youtube"]
dataset.accounts[].namestringمطلوب في العنصر الأب
  • maxLength: 500
dataset.accounts[].connectionStatusstringاختياري / عنصر
  • maxLength: 100
dataset.accounts[].healthMessagestringاختياري / عنصر
  • maxLength: 1000
dataset.postsarrayمطلوب في العنصر الأب
  • maxItems: 1000
dataset.posts[]objectاختياري / عنصر
  • additionalProperties: false
dataset.posts[].social_post_idstringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.posts[].workspace_idstringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.posts[].social_account_idstringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.posts[].platformstringمطلوب في العنصر الأب
  • enum: ["instagram","facebook","threads","youtube"]
dataset.posts[].provider_post_idstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 512
dataset.posts[].provider_published_atstring | nullمطلوب في العنصر الأب—
dataset.posts[].provider_published_atanyOf 1stringمطلوب في العنصر الأب
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.posts[].provider_published_atanyOf 2nullمطلوب في العنصر الأب—
dataset.posts[].content_formatstring | nullمطلوب في العنصر الأب—
dataset.posts[].content_formatanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.posts[].content_formatanyOf 2nullمطلوب في العنصر الأب—
dataset.posts[].permalinkstring | nullمطلوب في العنصر الأب—
dataset.posts[].permalinkanyOf 1stringمطلوب في العنصر الأب
  • format: "uri"
  • maxLength: 2048
dataset.posts[].permalinkanyOf 2nullمطلوب في العنصر الأب—
dataset.posts[].provider_statestringمطلوب في العنصر الأب
  • enum: ["available","deleted","unavailable","unknown"]
dataset.posts[].first_seen_atstringمطلوب في العنصر الأب
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.posts[].last_seen_atstringمطلوب في العنصر الأب
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.posts[].scheduled_post_idstring | nullمطلوب في العنصر الأب—
dataset.posts[].scheduled_post_idanyOf 1stringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.posts[].scheduled_post_idanyOf 2nullمطلوب في العنصر الأب—
dataset.posts[].provenanceobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.posts[].provenance.providerstringمطلوب في العنصر الأب
  • enum: ["instagram","facebook","threads","youtube"]
dataset.posts[].provenance.sourcestringمطلوب في العنصر الأب
  • enum: ["provider_api","provider_webhook","publication_outcome","backfill"]
dataset.posts[].provenance.source_job_idstring | nullمطلوب في العنصر الأب—
dataset.posts[].provenance.source_job_idanyOf 1stringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.posts[].provenance.source_job_idanyOf 2nullمطلوب في العنصر الأب—
dataset.posts[].provenance.provider_api_versionstring | nullمطلوب في العنصر الأب—
dataset.posts[].provenance.provider_api_versionanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 200
dataset.posts[].provenance.provider_api_versionanyOf 2nullمطلوب في العنصر الأب—
dataset.posts[].provenance.schema_versionstring | nullمطلوب في العنصر الأب—
dataset.posts[].provenance.schema_versionanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 200
dataset.posts[].provenance.schema_versionanyOf 2nullمطلوب في العنصر الأب—
dataset.sourcesarrayمطلوب في العنصر الأب
  • maxItems: 30
dataset.sources[]objectاختياري / عنصر
  • additionalProperties: false
dataset.sources[].accountIdstringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.sources[].platformstringمطلوب في العنصر الأب
  • enum: ["facebook","instagram","threads","youtube"]
dataset.sources[].resourceKindstringمطلوب في العنصر الأب
  • enum: ["account","post"]
dataset.sources[].providerResourceIdstring | nullمطلوب في العنصر الأب—
dataset.sources[].providerResourceIdanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 512
dataset.sources[].providerResourceIdanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].requestIdstring | nullمطلوب في العنصر الأب—
dataset.sources[].requestIdanyOf 1stringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.sources[].requestIdanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].statusstringمطلوب في العنصر الأب
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.sources[].reasonstring | nullمطلوب في العنصر الأب—
dataset.sources[].reasonanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 8000
dataset.sources[].reasonanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].envelopeobject | nullمطلوب في العنصر الأب—
dataset.sources[].envelopeanyOf 1objectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.sources[].envelope.contract_versionanyOf 1stringمطلوب في العنصر الأب
  • const: "provider-insights/v1"
dataset.sources[].envelope.request_idanyOf 1stringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.sources[].envelope.platformanyOf 1stringمطلوب في العنصر الأب
  • enum: ["facebook","instagram","threads","youtube"]
dataset.sources[].envelope.resourceanyOf 1objectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.sources[].envelope.resource.kindanyOf 1stringمطلوب في العنصر الأب
  • enum: ["account","post"]
dataset.sources[].envelope.resource.social_account_idanyOf 1stringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.sources[].envelope.resource.provider_resource_idanyOf 1string | nullمطلوب في العنصر الأب—
dataset.sources[].envelope.provider_api_versionanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.sources[].envelope.fetched_atanyOf 1stringمطلوب في العنصر الأب
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.sources[].envelope.statusanyOf 1stringمطلوب في العنصر الأب
  • enum: ["available","partial","unavailable"]
dataset.sources[].envelope.availabilityanyOf 1arrayمطلوب في العنصر الأب
  • minItems: 1
  • maxItems: 64
dataset.sources[].envelope.availability[]anyOf 1objectاختياري / عنصر
  • additionalProperties: false
dataset.sources[].envelope.availability[].scopeanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 200
dataset.sources[].envelope.availability[].statusanyOf 1stringمطلوب في العنصر الأب
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed"]
dataset.sources[].envelope.availability[].reasonanyOf 1stringاختياري / عنصر
  • minLength: 1
  • maxLength: 2000
dataset.sources[].envelope.availability[].diagnosticsanyOf 1objectاختياري / عنصر
  • additionalProperties: false
dataset.sources[].envelope.availability[].diagnostics.http_statusanyOf 1integerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 599
dataset.sources[].envelope.availability[].diagnostics.failed_stepanyOf 1stringاختياري / عنصر
  • minLength: 1
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.provider_codeanyOf 1number | stringاختياري / عنصر—
dataset.sources[].envelope.availability[].diagnostics.provider_codeanyOf 1 / anyOf 1numberاختياري / عنصر—
dataset.sources[].envelope.availability[].diagnostics.provider_codeanyOf 1 / anyOf 2stringاختياري / عنصر
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.provider_subcodeanyOf 1number | stringاختياري / عنصر—
dataset.sources[].envelope.availability[].diagnostics.provider_subcodeanyOf 1 / anyOf 1numberاختياري / عنصر—
dataset.sources[].envelope.availability[].diagnostics.provider_subcodeanyOf 1 / anyOf 2stringاختياري / عنصر
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.provider_typeanyOf 1stringاختياري / عنصر
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.is_transientanyOf 1booleanاختياري / عنصر—
dataset.sources[].envelope.availability[].diagnostics.provider_request_idanyOf 1stringاختياري / عنصر
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.accessanyOf 1objectاختياري / عنصر
  • additionalProperties: false
dataset.sources[].envelope.availability[].diagnostics.access.login_modeanyOf 1stringمطلوب في العنصر الأب
  • enum: ["instagram_login","facebook_login","threads_user"]
dataset.sources[].envelope.availability[].diagnostics.access.provider_hostanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 200
dataset.sources[].envelope.availability[].diagnostics.access.required_permissionsanyOf 1arrayمطلوب في العنصر الأب
  • maxItems: 16
dataset.sources[].envelope.availability[].diagnostics.access.required_permissions[]anyOf 1stringاختياري / عنصر
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.access.current_connection_policy_permissionsanyOf 1arrayمطلوب في العنصر الأب
  • maxItems: 16
dataset.sources[].envelope.availability[].diagnostics.access.current_connection_policy_permissions[]anyOf 1stringاختياري / عنصر
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissionsanyOf 1array | nullمطلوب في العنصر الأب—
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissionsanyOf 1 / anyOf 1arrayمطلوب في العنصر الأب
  • maxItems: 128
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissions[]anyOf 1 / anyOf 1stringاختياري / عنصر
  • maxLength: 100
dataset.sources[].envelope.availability[].diagnostics.access.granted_permissionsanyOf 1 / anyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].envelope.availability[].diagnostics.access.grant_evidenceanyOf 1stringمطلوب في العنصر الأب
  • enum: ["exact","unknown"]
dataset.sources[].envelope.availability[].diagnostics.access.permission_stateanyOf 1stringمطلوب في العنصر الأب
  • enum: ["granted","missing","unknown"]
dataset.sources[].envelope.availability[].diagnostics.access.grant_observed_atanyOf 1stringاختياري / عنصر
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.sources[].envelope.availability[].diagnostics.access.app_accessanyOf 1stringمطلوب في العنصر الأب
  • const: "unverified"
dataset.sources[].envelope.availability[].diagnostics.access.next_stepanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 1500
dataset.sources[].envelope.provider_dataanyOf 1any JSON value | nullمطلوب في العنصر الأب—
dataset.sources[].envelope.provider_dataanyOf 1 / anyOf 1any JSON valueمطلوب في العنصر الأب—
dataset.sources[].envelope.provider_dataanyOf 1 / anyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].envelope.requested_date_rangeanyOf 1object | nullمطلوب في العنصر الأب—
dataset.sources[].envelope.requested_date_rangeanyOf 1 / anyOf 1objectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.sources[].envelope.requested_date_range.start_dateanyOf 1 / anyOf 1stringمطلوب في العنصر الأب
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.sources[].envelope.requested_date_range.end_dateanyOf 1 / anyOf 1stringمطلوب في العنصر الأب
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
dataset.sources[].envelope.requested_date_rangeanyOf 1 / anyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].envelope.cacheanyOf 1objectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.sources[].envelope.cache.authoritativeanyOf 1booleanمطلوب في العنصر الأب
  • const: false
dataset.sources[].envelope.cache.statusanyOf 1stringمطلوب في العنصر الأب
  • enum: ["stored","hit","bypassed"]
dataset.sources[].envelope.cache.expires_atanyOf 1stringمطلوب في العنصر الأب
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.sources[].envelopeanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].metricsarrayمطلوب في العنصر الأب
  • maxItems: 5000
dataset.sources[].metrics[]objectاختياري / عنصر
  • additionalProperties: false
dataset.sources[].metrics[].keystringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 150
dataset.sources[].metrics[].definitionstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 1000
dataset.sources[].metrics[].unitstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.sources[].metrics[].grainstringمطلوب في العنصر الأب
  • enum: ["post","account"]
dataset.sources[].metrics[].valuenumber | nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].availabilitystringمطلوب في العنصر الأب
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.sources[].metrics[].reasonstring | nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].reasonanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 4000
dataset.sources[].metrics[].reasonanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurementobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.sources[].metrics[].measurement.kindstringمطلوب في العنصر الأب
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.sources[].metrics[].measurement.periodstring | nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurement.periodanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 100
dataset.sources[].metrics[].measurement.periodanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurement.startstring | nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurement.startanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 100
dataset.sources[].metrics[].measurement.startanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurement.endstring | nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurement.endanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 100
dataset.sources[].metrics[].measurement.endanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurement.timezonestring | nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].measurement.timezoneanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 100
dataset.sources[].metrics[].measurement.timezoneanyOf 2nullمطلوب في العنصر الأب—
dataset.sources[].metrics[].sourcePathstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 2000
dataset.coverageobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.coverage.populationstringمطلوب في العنصر الأب
  • const: "discovered_posts"
dataset.coverage.postsCompletebooleanمطلوب في العنصر الأب—
dataset.coverage.nextCursorstring | nullمطلوب في العنصر الأب—
dataset.coverage.nextCursoranyOf 1stringمطلوب في العنصر الأب
  • maxLength: 16384
dataset.coverage.nextCursoranyOf 2nullمطلوب في العنصر الأب—
dataset.coverage.postLimitintegerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 1000
dataset.coverage.postInsightsLimitintegerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 20
dataset.coverage.omittedPostInsightsintegerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 9007199254740991
dataset.coverage.notesarrayمطلوب في العنصر الأب
  • maxItems: 50
dataset.coverage.notes[]stringاختياري / عنصر
  • maxLength: 2000
dataset.customMetricsarrayمطلوب في العنصر الأب
  • maxItems: 50
dataset.customMetrics[]objectاختياري / عنصر
  • additionalProperties: false
dataset.customMetrics[].idstringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.customMetrics[].namestringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].versionintegerمطلوب في العنصر الأب
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
dataset.customMetrics[].expressionstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 1000
dataset.customMetrics[].definitionstringمطلوب في العنصر الأب
  • maxLength: 1000
dataset.customMetrics[].unitstringمطلوب في العنصر الأب
  • maxLength: 100
dataset.customMetrics[].grainstringمطلوب في العنصر الأب
  • enum: ["post","account","compatible_sum"]
dataset.customMetrics[].roundingobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.customMetrics[].rounding.decimalPlacesintegerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 8
dataset.customMetrics[].rounding.modestringمطلوب في العنصر الأب
  • const: "half_away_from_zero"
dataset.customMetrics[].inputsarrayمطلوب في العنصر الأب
  • maxItems: 5000
dataset.customMetrics[].inputs[]objectاختياري / عنصر
  • additionalProperties: false
dataset.customMetrics[].inputs[].requestIdstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].inputs[].requestIdanyOf 1stringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.customMetrics[].inputs[].requestIdanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].inputs[].sourcePathstringمطلوب في العنصر الأب
  • maxLength: 2000
dataset.customMetrics[].inputs[].valuenumber | nullمطلوب في العنصر الأب—
dataset.customMetrics[].inputs[].availabilitystringمطلوب في العنصر الأب
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.customMetrics[].valuenumber | nullمطلوب في العنصر الأب—
dataset.customMetrics[].availabilitystringمطلوب في العنصر الأب
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.customMetrics[].reasonstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].reasonanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 4000
dataset.customMetrics[].reasonanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].formulaobjectاختياري / عنصر
  • additionalProperties: false
dataset.customMetrics[].formula.contractVersionstringمطلوب في العنصر الأب
  • const: "analytics-metric/v1"
dataset.customMetrics[].formula.idstringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.customMetrics[].formula.workspaceIdstringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.customMetrics[].formula.namestringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].formula.versionintegerمطلوب في العنصر الأب
  • minimum: 1
  • maximum: 1000000
dataset.customMetrics[].formula.expressionstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 1000
dataset.customMetrics[].formula.fieldsarrayمطلوب في العنصر الأب
  • maxItems: 32
dataset.customMetrics[].formula.fields[]objectاختياري / عنصر
  • additionalProperties: false
dataset.customMetrics[].formula.fields[].identifierstringمطلوب في العنصر الأب
  • pattern: "^[a-z][a-z0-9_]{0,63}$"
dataset.customMetrics[].formula.fields[].selectorobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.customMetrics[].formula.fields[].selector.platformstringمطلوب في العنصر الأب
  • enum: ["facebook","instagram","threads","youtube"]
dataset.customMetrics[].formula.fields[].selector.keystringمطلوب في العنصر الأب
  • pattern: "^[A-Za-z][A-Za-z0-9_]{0,100}$"
dataset.customMetrics[].formula.fields[].selector.definitionstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 500
dataset.customMetrics[].formula.fields[].selector.unitstringمطلوب في العنصر الأب
  • enum: ["count","seconds","minutes","percent","ratio"]
dataset.customMetrics[].formula.fields[].selector.grainstringمطلوب في العنصر الأب
  • enum: ["post","account"]
dataset.customMetrics[].formula.fields[].selector.measurementKindstringمطلوب في العنصر الأب
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.customMetrics[].formula.fields[].selector.nativePeriodstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].formula.fields[].selector.nativePeriodanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].formula.fields[].selector.nativePeriodanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].formula.fields[].selector.timezonestring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].formula.fields[].selector.timezoneanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].formula.fields[].selector.timezoneanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].formula.fields[].aggregationstringمطلوب في العنصر الأب
  • enum: ["single","sum"]
dataset.customMetrics[].formula.roundingobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.customMetrics[].formula.rounding.decimalPlacesintegerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 8
dataset.customMetrics[].formula.rounding.modestringمطلوب في العنصر الأب
  • const: "half_away_from_zero"
dataset.customMetrics[].calculationobjectاختياري / عنصر
  • additionalProperties: false
dataset.customMetrics[].calculation.contractVersionstringمطلوب في العنصر الأب
  • const: "analytics-metric/v1"
dataset.customMetrics[].calculation.workspaceIdstringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.customMetrics[].calculation.datasetIdstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.formulaIdstringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.customMetrics[].calculation.namestringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.versionintegerمطلوب في العنصر الأب
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
dataset.customMetrics[].calculation.expressionstringمطلوب في العنصر الأب
  • maxLength: 1000
dataset.customMetrics[].calculation.roundingobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.customMetrics[].calculation.rounding.decimalPlacesintegerمطلوب في العنصر الأب
  • minimum: 0
  • maximum: 8
dataset.customMetrics[].calculation.rounding.modestringمطلوب في العنصر الأب
  • const: "half_away_from_zero"
dataset.customMetrics[].calculation.valuenumber | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.unitstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 200
dataset.customMetrics[].calculation.statusstringمطلوب في العنصر الأب
  • enum: ["available","not_returned"]
dataset.customMetrics[].calculation.codestringمطلوب في العنصر الأب
  • enum: ["ok","invalid_expression","missing_input","incompatible_input","zero_denominator","numeric_limit","workspace_mismatch","ambiguous_input","unknown_exclusion"]
dataset.customMetrics[].calculation.reasonstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.reasonanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 500
dataset.customMetrics[].calculation.reasonanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.excludedInputIdsarrayمطلوب في العنصر الأب
  • maxItems: 5000
dataset.customMetrics[].calculation.excludedInputIds[]stringاختياري / عنصر
  • minLength: 1
  • maxLength: 1500
dataset.customMetrics[].calculation.inputsarrayمطلوب في العنصر الأب
  • maxItems: 5000
dataset.customMetrics[].calculation.inputs[]objectاختياري / عنصر
  • additionalProperties: false
dataset.customMetrics[].calculation.inputs[].inputIdstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 1500
dataset.customMetrics[].calculation.inputs[].selectorobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.customMetrics[].calculation.inputs[].selector.platformstringمطلوب في العنصر الأب
  • enum: ["facebook","instagram","threads","youtube"]
dataset.customMetrics[].calculation.inputs[].selector.keystringمطلوب في العنصر الأب
  • pattern: "^[A-Za-z][A-Za-z0-9_]{0,100}$"
dataset.customMetrics[].calculation.inputs[].selector.definitionstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 500
dataset.customMetrics[].calculation.inputs[].selector.unitstringمطلوب في العنصر الأب
  • enum: ["count","seconds","minutes","percent","ratio"]
dataset.customMetrics[].calculation.inputs[].selector.grainstringمطلوب في العنصر الأب
  • enum: ["post","account"]
dataset.customMetrics[].calculation.inputs[].selector.measurementKindstringمطلوب في العنصر الأب
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.customMetrics[].calculation.inputs[].selector.nativePeriodstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].selector.nativePeriodanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].selector.nativePeriodanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].selector.timezonestring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].selector.timezoneanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.inputs[].selector.timezoneanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].valuenumber | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].availabilitystringمطلوب في العنصر الأب
  • enum: ["available","partial","not_returned","unsupported","permission_required","threshold_not_met","no_data","failed","pending","stale"]
dataset.customMetrics[].calculation.inputs[].reasonstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].reasonanyOf 1stringمطلوب في العنصر الأب
  • maxLength: 8000
dataset.customMetrics[].calculation.inputs[].reasonanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurementobjectمطلوب في العنصر الأب
  • additionalProperties: false
dataset.customMetrics[].calculation.inputs[].measurement.kindstringمطلوب في العنصر الأب
  • enum: ["lifetime","snapshot","period","unknown"]
dataset.customMetrics[].calculation.inputs[].measurement.periodstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurement.periodanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].measurement.periodanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurement.startstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurement.startanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].measurement.startanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurement.endstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurement.endanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 64
dataset.customMetrics[].calculation.inputs[].measurement.endanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurement.timezonestring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].measurement.timezoneanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 100
dataset.customMetrics[].calculation.inputs[].measurement.timezoneanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].requestIdstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].requestIdanyOf 1stringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.customMetrics[].calculation.inputs[].requestIdanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].sourcePathstringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 1000
dataset.customMetrics[].calculation.inputs[].accountIdstringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
dataset.customMetrics[].calculation.inputs[].providerResourceIdstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].providerResourceIdanyOf 1stringمطلوب في العنصر الأب
  • minLength: 1
  • maxLength: 512
dataset.customMetrics[].calculation.inputs[].providerResourceIdanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].fetchedAtstring | nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].fetchedAtanyOf 1stringمطلوب في العنصر الأب
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
dataset.customMetrics[].calculation.inputs[].fetchedAtanyOf 2nullمطلوب في العنصر الأب—
dataset.customMetrics[].calculation.inputs[].identifierstringمطلوب في العنصر الأب
  • pattern: "^[a-z][a-z0-9_]{0,63}$"
dataset.customMetrics[].calculation.inputs[].includedbooleanمطلوب في العنصر الأب—
مخطط JSON Schema الكامل
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "version": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000000
    },
    "dataset": {
      "type": "object",
      "properties": {
        "contractVersion": {
          "type": "string",
          "const": "analytics-report/v1"
        },
        "id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "reviewedAt": {
          "type": "string",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
          "format": "date-time"
        },
        "selection": {
          "type": "object",
          "properties": {
            "workspaceId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "accountIds": {
              "minItems": 1,
              "maxItems": 50,
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              }
            },
            "platforms": {
              "minItems": 1,
              "maxItems": 4,
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "facebook",
                  "instagram",
                  "threads",
                  "youtube"
                ]
              }
            },
            "startDate": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            "endDate": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            "timezone": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100
            }
          },
          "required": [
            "workspaceId",
            "accountIds",
            "platforms",
            "startDate",
            "endDate",
            "timezone"
          ],
          "additionalProperties": false
        },
        "accounts": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "workspaceId": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "platform": {
                "type": "string",
                "enum": [
                  "facebook",
                  "instagram",
                  "threads",
                  "youtube"
                ]
              },
              "name": {
                "type": "string",
                "maxLength": 500
              },
              "connectionStatus": {
                "type": "string",
                "maxLength": 100
              },
              "healthMessage": {
                "type": "string",
                "maxLength": 1000
              }
            },
            "required": [
              "id",
              "workspaceId",
              "platform",
              "name"
            ],
            "additionalProperties": false
          }
        },
        "posts": {
          "maxItems": 1000,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "social_post_id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "workspace_id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "social_account_id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "platform": {
                "type": "string",
                "enum": [
                  "instagram",
                  "facebook",
                  "threads",
                  "youtube"
                ]
              },
              "provider_post_id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 512
              },
              "provider_published_at": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "content_format": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "permalink": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 2048,
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "provider_state": {
                "type": "string",
                "enum": [
                  "available",
                  "deleted",
                  "unavailable",
                  "unknown"
                ]
              },
              "first_seen_at": {
                "type": "string",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                "format": "date-time"
              },
              "last_seen_at": {
                "type": "string",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                "format": "date-time"
              },
              "scheduled_post_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "provenance": {
                "type": "object",
                "properties": {
                  "provider": {
                    "type": "string",
                    "enum": [
                      "instagram",
                      "facebook",
                      "threads",
                      "youtube"
                    ]
                  },
                  "source": {
                    "type": "string",
                    "enum": [
                      "provider_api",
                      "provider_webhook",
                      "publication_outcome",
                      "backfill"
                    ]
                  },
                  "source_job_id": {
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "provider_api_version": {
                    "anyOf": [
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 200
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "schema_version": {
                    "anyOf": [
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 200
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "provider",
                  "source",
                  "source_job_id",
                  "provider_api_version",
                  "schema_version"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "social_post_id",
              "workspace_id",
              "social_account_id",
              "platform",
              "provider_post_id",
              "provider_published_at",
              "content_format",
              "permalink",
              "provider_state",
              "first_seen_at",
              "last_seen_at",
              "scheduled_post_id",
              "provenance"
            ],
            "additionalProperties": false
          }
        },
        "sources": {
          "maxItems": 30,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "accountId": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "platform": {
                "type": "string",
                "enum": [
                  "facebook",
                  "instagram",
                  "threads",
                  "youtube"
                ]
              },
              "resourceKind": {
                "type": "string",
                "enum": [
                  "account",
                  "post"
                ]
              },
              "providerResourceId": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 512
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "requestId": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "type": "string",
                "enum": [
                  "available",
                  "partial",
                  "not_returned",
                  "unsupported",
                  "permission_required",
                  "threshold_not_met",
                  "no_data",
                  "failed",
                  "pending",
                  "stale"
                ]
              },
              "reason": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 8000
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "envelope": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "contract_version": {
                        "type": "string",
                        "const": "provider-insights/v1"
                      },
                      "request_id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "platform": {
                        "type": "string",
                        "enum": [
                          "facebook",
                          "instagram",
                          "threads",
                          "youtube"
                        ]
                      },
                      "resource": {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "enum": [
                              "account",
                              "post"
                            ]
                          },
                          "social_account_id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          },
                          "provider_resource_id": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "kind",
                          "social_account_id",
                          "provider_resource_id"
                        ],
                        "additionalProperties": false
                      },
                      "provider_api_version": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 100
                      },
                      "fetched_at": {
                        "type": "string",
                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                        "format": "date-time"
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "available",
                          "partial",
                          "unavailable"
                        ]
                      },
                      "availability": {
                        "minItems": 1,
                        "maxItems": 64,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "scope": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 200
                            },
                            "status": {
                              "type": "string",
                              "enum": [
                                "available",
                                "partial",
                                "not_returned",
                                "unsupported",
                                "permission_required",
                                "threshold_not_met",
                                "no_data",
                                "failed"
                              ]
                            },
                            "reason": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 2000
                            },
                            "diagnostics": {
                              "type": "object",
                              "properties": {
                                "http_status": {
                                  "type": "integer",
                                  "minimum": 0,
                                  "maximum": 599
                                },
                                "failed_step": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 200
                                },
                                "provider_code": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "type": "string",
                                      "maxLength": 100
                                    }
                                  ]
                                },
                                "provider_subcode": {
                                  "anyOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "type": "string",
                                      "maxLength": 100
                                    }
                                  ]
                                },
                                "provider_type": {
                                  "type": "string",
                                  "maxLength": 200
                                },
                                "is_transient": {
                                  "type": "boolean"
                                },
                                "provider_request_id": {
                                  "type": "string",
                                  "maxLength": 200
                                },
                                "access": {
                                  "type": "object",
                                  "properties": {
                                    "login_mode": {
                                      "type": "string",
                                      "enum": [
                                        "instagram_login",
                                        "facebook_login",
                                        "threads_user"
                                      ]
                                    },
                                    "provider_host": {
                                      "type": "string",
                                      "maxLength": 200
                                    },
                                    "required_permissions": {
                                      "maxItems": 16,
                                      "type": "array",
                                      "items": {
                                        "type": "string",
                                        "maxLength": 100
                                      }
                                    },
                                    "current_connection_policy_permissions": {
                                      "maxItems": 16,
                                      "type": "array",
                                      "items": {
                                        "type": "string",
                                        "maxLength": 100
                                      }
                                    },
                                    "granted_permissions": {
                                      "anyOf": [
                                        {
                                          "maxItems": 128,
                                          "type": "array",
                                          "items": {
                                            "type": "string",
                                            "maxLength": 100
                                          }
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ]
                                    },
                                    "grant_evidence": {
                                      "type": "string",
                                      "enum": [
                                        "exact",
                                        "unknown"
                                      ]
                                    },
                                    "permission_state": {
                                      "type": "string",
                                      "enum": [
                                        "granted",
                                        "missing",
                                        "unknown"
                                      ]
                                    },
                                    "grant_observed_at": {
                                      "type": "string",
                                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                                      "format": "date-time"
                                    },
                                    "app_access": {
                                      "type": "string",
                                      "const": "unverified"
                                    },
                                    "next_step": {
                                      "type": "string",
                                      "maxLength": 1500
                                    }
                                  },
                                  "required": [
                                    "login_mode",
                                    "provider_host",
                                    "required_permissions",
                                    "current_connection_policy_permissions",
                                    "granted_permissions",
                                    "grant_evidence",
                                    "permission_state",
                                    "app_access",
                                    "next_step"
                                  ],
                                  "additionalProperties": false
                                }
                              },
                              "required": [
                                "http_status"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "required": [
                            "scope",
                            "status"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "provider_data": {
                        "anyOf": [
                          {},
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "requested_date_range": {
                        "anyOf": [
                          {
                            "type": "object",
                            "properties": {
                              "start_date": {
                                "type": "string",
                                "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                              },
                              "end_date": {
                                "type": "string",
                                "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                              }
                            },
                            "required": [
                              "start_date",
                              "end_date"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "cache": {
                        "type": "object",
                        "properties": {
                          "authoritative": {
                            "type": "boolean",
                            "const": false
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "stored",
                              "hit",
                              "bypassed"
                            ]
                          },
                          "expires_at": {
                            "type": "string",
                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                            "format": "date-time"
                          }
                        },
                        "required": [
                          "authoritative",
                          "status",
                          "expires_at"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "contract_version",
                      "request_id",
                      "platform",
                      "resource",
                      "provider_api_version",
                      "fetched_at",
                      "status",
                      "availability",
                      "provider_data",
                      "requested_date_range",
                      "cache"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "metrics": {
                "maxItems": 5000,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 150
                    },
                    "definition": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 1000
                    },
                    "unit": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    },
                    "grain": {
                      "type": "string",
                      "enum": [
                        "post",
                        "account"
                      ]
                    },
                    "value": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "availability": {
                      "type": "string",
                      "enum": [
                        "available",
                        "partial",
                        "not_returned",
                        "unsupported",
                        "permission_required",
                        "threshold_not_met",
                        "no_data",
                        "failed",
                        "pending",
                        "stale"
                      ]
                    },
                    "reason": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 4000
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "measurement": {
                      "type": "object",
                      "properties": {
                        "kind": {
                          "type": "string",
                          "enum": [
                            "lifetime",
                            "snapshot",
                            "period",
                            "unknown"
                          ]
                        },
                        "period": {
                          "anyOf": [
                            {
                              "type": "string",
                              "maxLength": 100
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "start": {
                          "anyOf": [
                            {
                              "type": "string",
                              "maxLength": 100
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "end": {
                          "anyOf": [
                            {
                              "type": "string",
                              "maxLength": 100
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "timezone": {
                          "anyOf": [
                            {
                              "type": "string",
                              "maxLength": 100
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "required": [
                        "kind",
                        "period",
                        "start",
                        "end",
                        "timezone"
                      ],
                      "additionalProperties": false
                    },
                    "sourcePath": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 2000
                    }
                  },
                  "required": [
                    "key",
                    "definition",
                    "unit",
                    "grain",
                    "value",
                    "availability",
                    "reason",
                    "measurement",
                    "sourcePath"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "accountId",
              "platform",
              "resourceKind",
              "providerResourceId",
              "requestId",
              "status",
              "reason",
              "envelope",
              "metrics"
            ],
            "additionalProperties": false
          }
        },
        "coverage": {
          "type": "object",
          "properties": {
            "population": {
              "type": "string",
              "const": "discovered_posts"
            },
            "postsComplete": {
              "type": "boolean"
            },
            "nextCursor": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 16384
                },
                {
                  "type": "null"
                }
              ]
            },
            "postLimit": {
              "type": "integer",
              "minimum": 0,
              "maximum": 1000
            },
            "postInsightsLimit": {
              "type": "integer",
              "minimum": 0,
              "maximum": 20
            },
            "omittedPostInsights": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "notes": {
              "maxItems": 50,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 2000
              }
            }
          },
          "required": [
            "population",
            "postsComplete",
            "nextCursor",
            "postLimit",
            "postInsightsLimit",
            "omittedPostInsights",
            "notes"
          ],
          "additionalProperties": false
        },
        "customMetrics": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 100
              },
              "version": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "expression": {
                "type": "string",
                "minLength": 1,
                "maxLength": 1000
              },
              "definition": {
                "type": "string",
                "maxLength": 1000
              },
              "unit": {
                "type": "string",
                "maxLength": 100
              },
              "grain": {
                "type": "string",
                "enum": [
                  "post",
                  "account",
                  "compatible_sum"
                ]
              },
              "rounding": {
                "type": "object",
                "properties": {
                  "decimalPlaces": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 8
                  },
                  "mode": {
                    "type": "string",
                    "const": "half_away_from_zero"
                  }
                },
                "required": [
                  "decimalPlaces",
                  "mode"
                ],
                "additionalProperties": false
              },
              "inputs": {
                "maxItems": 5000,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "requestId": {
                      "anyOf": [
                        {
                          "type": "string",
                          "format": "uuid",
                          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "sourcePath": {
                      "type": "string",
                      "maxLength": 2000
                    },
                    "value": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "availability": {
                      "type": "string",
                      "enum": [
                        "available",
                        "partial",
                        "not_returned",
                        "unsupported",
                        "permission_required",
                        "threshold_not_met",
                        "no_data",
                        "failed",
                        "pending",
                        "stale"
                      ]
                    }
                  },
                  "required": [
                    "requestId",
                    "sourcePath",
                    "value",
                    "availability"
                  ],
                  "additionalProperties": false
                }
              },
              "value": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "availability": {
                "type": "string",
                "enum": [
                  "available",
                  "partial",
                  "not_returned",
                  "unsupported",
                  "permission_required",
                  "threshold_not_met",
                  "no_data",
                  "failed",
                  "pending",
                  "stale"
                ]
              },
              "reason": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 4000
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "formula": {
                "type": "object",
                "properties": {
                  "contractVersion": {
                    "type": "string",
                    "const": "analytics-metric/v1"
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "workspaceId": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "version": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000000
                  },
                  "expression": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 1000
                  },
                  "fields": {
                    "maxItems": 32,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "identifier": {
                          "type": "string",
                          "pattern": "^[a-z][a-z0-9_]{0,63}$"
                        },
                        "selector": {
                          "type": "object",
                          "properties": {
                            "platform": {
                              "type": "string",
                              "enum": [
                                "facebook",
                                "instagram",
                                "threads",
                                "youtube"
                              ]
                            },
                            "key": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,100}$"
                            },
                            "definition": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 500
                            },
                            "unit": {
                              "type": "string",
                              "enum": [
                                "count",
                                "seconds",
                                "minutes",
                                "percent",
                                "ratio"
                              ]
                            },
                            "grain": {
                              "type": "string",
                              "enum": [
                                "post",
                                "account"
                              ]
                            },
                            "measurementKind": {
                              "type": "string",
                              "enum": [
                                "lifetime",
                                "snapshot",
                                "period",
                                "unknown"
                              ]
                            },
                            "nativePeriod": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "timezone": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 100
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "required": [
                            "platform",
                            "key",
                            "definition",
                            "unit",
                            "grain",
                            "measurementKind",
                            "nativePeriod",
                            "timezone"
                          ],
                          "additionalProperties": false
                        },
                        "aggregation": {
                          "type": "string",
                          "enum": [
                            "single",
                            "sum"
                          ]
                        }
                      },
                      "required": [
                        "identifier",
                        "selector",
                        "aggregation"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "rounding": {
                    "type": "object",
                    "properties": {
                      "decimalPlaces": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 8
                      },
                      "mode": {
                        "type": "string",
                        "const": "half_away_from_zero"
                      }
                    },
                    "required": [
                      "decimalPlaces",
                      "mode"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "contractVersion",
                  "id",
                  "workspaceId",
                  "name",
                  "version",
                  "expression",
                  "fields",
                  "rounding"
                ],
                "additionalProperties": false
              },
              "calculation": {
                "type": "object",
                "properties": {
                  "contractVersion": {
                    "type": "string",
                    "const": "analytics-metric/v1"
                  },
                  "workspaceId": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "datasetId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "formulaId": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "version": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "expression": {
                    "type": "string",
                    "maxLength": 1000
                  },
                  "rounding": {
                    "type": "object",
                    "properties": {
                      "decimalPlaces": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 8
                      },
                      "mode": {
                        "type": "string",
                        "const": "half_away_from_zero"
                      }
                    },
                    "required": [
                      "decimalPlaces",
                      "mode"
                    ],
                    "additionalProperties": false
                  },
                  "value": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "unit": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "available",
                      "not_returned"
                    ]
                  },
                  "code": {
                    "type": "string",
                    "enum": [
                      "ok",
                      "invalid_expression",
                      "missing_input",
                      "incompatible_input",
                      "zero_denominator",
                      "numeric_limit",
                      "workspace_mismatch",
                      "ambiguous_input",
                      "unknown_exclusion"
                    ]
                  },
                  "reason": {
                    "anyOf": [
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 500
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "excludedInputIds": {
                    "maxItems": 5000,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 1500
                    }
                  },
                  "inputs": {
                    "maxItems": 5000,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "inputId": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 1500
                        },
                        "selector": {
                          "type": "object",
                          "properties": {
                            "platform": {
                              "type": "string",
                              "enum": [
                                "facebook",
                                "instagram",
                                "threads",
                                "youtube"
                              ]
                            },
                            "key": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,100}$"
                            },
                            "definition": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 500
                            },
                            "unit": {
                              "type": "string",
                              "enum": [
                                "count",
                                "seconds",
                                "minutes",
                                "percent",
                                "ratio"
                              ]
                            },
                            "grain": {
                              "type": "string",
                              "enum": [
                                "post",
                                "account"
                              ]
                            },
                            "measurementKind": {
                              "type": "string",
                              "enum": [
                                "lifetime",
                                "snapshot",
                                "period",
                                "unknown"
                              ]
                            },
                            "nativePeriod": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "timezone": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 100
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "required": [
                            "platform",
                            "key",
                            "definition",
                            "unit",
                            "grain",
                            "measurementKind",
                            "nativePeriod",
                            "timezone"
                          ],
                          "additionalProperties": false
                        },
                        "value": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "availability": {
                          "type": "string",
                          "enum": [
                            "available",
                            "partial",
                            "not_returned",
                            "unsupported",
                            "permission_required",
                            "threshold_not_met",
                            "no_data",
                            "failed",
                            "pending",
                            "stale"
                          ]
                        },
                        "reason": {
                          "anyOf": [
                            {
                              "type": "string",
                              "maxLength": 8000
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "measurement": {
                          "type": "object",
                          "properties": {
                            "kind": {
                              "type": "string",
                              "enum": [
                                "lifetime",
                                "snapshot",
                                "period",
                                "unknown"
                              ]
                            },
                            "period": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "start": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "end": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 64
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "timezone": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 100
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "required": [
                            "kind",
                            "period",
                            "start",
                            "end",
                            "timezone"
                          ],
                          "additionalProperties": false
                        },
                        "requestId": {
                          "anyOf": [
                            {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "sourcePath": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 1000
                        },
                        "accountId": {
                          "type": "string",
                          "format": "uuid",
                          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                        },
                        "providerResourceId": {
                          "anyOf": [
                            {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 512
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "fetchedAt": {
                          "anyOf": [
                            {
                              "type": "string",
                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                              "format": "date-time"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "identifier": {
                          "type": "string",
                          "pattern": "^[a-z][a-z0-9_]{0,63}$"
                        },
                        "included": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "inputId",
                        "selector",
                        "value",
                        "availability",
                        "reason",
                        "measurement",
                        "requestId",
                        "sourcePath",
                        "accountId",
                        "providerResourceId",
                        "fetchedAt",
                        "identifier",
                        "included"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "contractVersion",
                  "workspaceId",
                  "datasetId",
                  "formulaId",
                  "name",
                  "version",
                  "expression",
                  "rounding",
                  "value",
                  "unit",
                  "status",
                  "code",
                  "reason",
                  "excludedInputIds",
                  "inputs"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "id",
              "name",
              "version",
              "expression",
              "definition",
              "unit",
              "grain",
              "rounding",
              "inputs",
              "value",
              "availability",
              "reason"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "contractVersion",
        "id",
        "reviewedAt",
        "selection",
        "accounts",
        "posts",
        "sources",
        "coverage",
        "customMetrics"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "workspace_id",
    "id",
    "version",
    "dataset"
  ],
  "additionalProperties": false
}

الاستجابة والاكتمال

رموز نجاح HTTP: 200. عندما تكتمل العملية: synchronous_http_response.

قد يعني نجاح HTTP قبول الطلب لا اكتماله. للعمل الخلفي، احفظ المعرّف المُعاد وتابع العملية نفسها حتى تنتهي. لا يُعدّ المنشور المجدول أوالمقبول منشوراً حتى تأكيد المنصة؛ انتهاء مهلة العميل لا يثبت النتيجة.

تعني «مطلوب» داخل الكائن الأب والفرع المختار. الحقل الابن المطلوب لا يجعل الأب الاختياري مطلوباً. نُسخت القواعد وأسماء الحقول أدناه من العقد.

الاستجابة والاكتمال
الحقل / الفرعالنوع / مطلوبالقيود
$objectمطلوب في العنصر الأب—
datasetIdstringمطلوب في العنصر الأب
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
sourceSha256stringمطلوب في العنصر الأب
  • pattern: "^[a-f0-9]{64}$"
fingerprintstringمطلوب في العنصر الأب
  • pattern: "^[a-f0-9]{64}$"
valuesarrayمطلوب في العنصر الأب
  • maxItems: 100
values[]objectاختياري / عنصر—
values[].namestringمطلوب في العنصر الأب
  • maxLength: 64
values[].requiredbooleanمطلوب في العنصر الأب—
values[].kindstring | nullمطلوب في العنصر الأب—
values[].kindanyOf 1stringمطلوب في العنصر الأب
  • enum: ["text","selection","metric","formula","table","chart"]
values[].kindanyOf 2nullمطلوب في العنصر الأب—
values[].textstringمطلوب في العنصر الأب—
values[].statusstringمطلوب في العنصر الأب
  • enum: ["resolved","missing","unavailable"]
values[].reasonstring | nullمطلوب في العنصر الأب—
values[].rowsarrayاختياري / عنصر—
values[].rows[]arrayاختياري / عنصر—
values[].rows[][]stringاختياري / عنصر—
values[].chartarrayاختياري / عنصر—
values[].chart[]objectاختياري / عنصر—
values[].chart[].labelstringمطلوب في العنصر الأب—
values[].chart[].valuenumberمطلوب في العنصر الأب—
blockingarrayمطلوب في العنصر الأب—
blocking[]stringاختياري / عنصر—
warningsarrayمطلوب في العنصر الأب—
warnings[]stringاختياري / عنصر—
مخطط JSON Schema الكامل
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "datasetId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "sourceSha256": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "fingerprint": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "values": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 64
          },
          "required": {
            "type": "boolean"
          },
          "kind": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "text",
                  "selection",
                  "metric",
                  "formula",
                  "table",
                  "chart"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "text": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "resolved",
              "missing",
              "unavailable"
            ]
          },
          "reason": {
            "type": [
              "string",
              "null"
            ]
          },
          "rows": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "chart": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string"
                },
                "value": {
                  "type": "number"
                }
              },
              "required": [
                "label",
                "value"
              ]
            }
          }
        },
        "required": [
          "name",
          "required",
          "kind",
          "text",
          "status",
          "reason"
        ]
      }
    },
    "blocking": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "datasetId",
    "sourceSha256",
    "fingerprint",
    "values",
    "blocking",
    "warnings"
  ]
}

الأخطاء وإعادة المحاولة بأمان

افحص حالة HTTP والجسم. قد يحوي خطأ التحقق 400 ‏ZodError؛ تستخدم أخطاء المعالج error و message و code. احتفظ بـ request_id أو x-request-id للتشخيص دون اعتماد. أصلح أخطاء وصول 401/403 قبل المحاولة واتّبع Retry-After لـ 429. لكتابة غير مؤكدة أو 5xx، اقرأ الموجود أولاً. أعِد مفتاح منع التكرار حيث يُدعم فقط؛ تختلف المحاولة حسب العملية ولا تضمن التسليم مرة واحدة بالضبط.

دليل استكشاف الأخطاء وإصلاحها

أمثلة

تستخدم الأمثلة قيماً خيالية مفحوصة بالمخططات. استبدل المعرّفات بالمفوّض لك، والوسائط بأصول جاهزة، والتواريخ بوقت نشر مؤكد. افحص أهلية الحساب قبل الكتابة. لا تُرسل الصفحة طلبات API.

اضبط SOSOAPI_ACCESS_TOKEN على خادمك ببيانات اعتماد تقبلها العملية، وأبقِه خارج شيفرة المتصفح. للوكيل، استخدم sosoapi auth login للدخول بالمتصفح ودع CLI يحدّث بيانات اعتماده.

request.json

{
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "id": "11111111-1111-4111-8111-111111111111",
  "version": 1,
  "dataset": {
    "contractVersion": "analytics-report/v1",
    "id": "11111111-1111-4111-8111-111111111111",
    "reviewedAt": "2099-01-15T09:00:00Z",
    "selection": {
      "workspaceId": "11111111-1111-4111-8111-111111111111",
      "accountIds": [
        "11111111-1111-4111-8111-111111111111"
      ],
      "platforms": [
        "facebook"
      ],
      "startDate": "2099-01-15",
      "endDate": "2099-01-15",
      "timezone": "UTC"
    },
    "accounts": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "workspaceId": "11111111-1111-4111-8111-111111111111",
        "platform": "facebook",
        "name": "Fictional report account"
      }
    ],
    "posts": [],
    "sources": [],
    "coverage": {
      "population": "discovered_posts",
      "postsComplete": false,
      "nextCursor": null,
      "postLimit": 0,
      "postInsightsLimit": 0,
      "omittedPostInsights": 0,
      "notes": []
    },
    "customMetrics": []
  }
}

cURL

curl --request POST \
  "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/analytics-api/reporting/templates/preview" \
  -H "Authorization: Bearer $SOSOAPI_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  --data-binary @request.json

JavaScript

// Server-side JavaScript. Do not print tokens or credential-bearing responses.
const token = process.env.SOSOAPI_ACCESS_TOKEN;
if (!token) throw new Error("Set an accepted credential for this operation");
const response = await fetch("https://gqeshlawtcexsapabaui.supabase.co/functions/v1/analytics-api/reporting/templates/preview", {
  method: "POST",
  headers: { "Content-Type": "application/json", Authorization: "Bearer " + token },
  body: JSON.stringify({
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "id": "11111111-1111-4111-8111-111111111111",
  "version": 1,
  "dataset": {
    "contractVersion": "analytics-report/v1",
    "id": "11111111-1111-4111-8111-111111111111",
    "reviewedAt": "2099-01-15T09:00:00Z",
    "selection": {
      "workspaceId": "11111111-1111-4111-8111-111111111111",
      "accountIds": [
        "11111111-1111-4111-8111-111111111111"
      ],
      "platforms": [
        "facebook"
      ],
      "startDate": "2099-01-15",
      "endDate": "2099-01-15",
      "timezone": "UTC"
    },
    "accounts": [
      {
        "id": "11111111-1111-4111-8111-111111111111",
        "workspaceId": "11111111-1111-4111-8111-111111111111",
        "platform": "facebook",
        "name": "Fictional report account"
      }
    ],
    "posts": [],
    "sources": [],
    "coverage": {
      "population": "discovered_posts",
      "postsComplete": false,
      "nextCursor": null,
      "postLimit": 0,
      "postInsightsLimit": 0,
      "omittedPostInsights": 0,
      "notes": []
    },
    "customMetrics": []
  }
})
});
const result = await response.json();
// Check response.ok, the operation-specific body and completion state before continuing.

CLI

npx sosoapi api post /analytics-api/reporting/templates/preview < request.json

مثال استجابة اصطناعية

{
  "datasetId": "11111111-1111-4111-8111-111111111111",
  "sourceSha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "fingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "values": [],
  "blocking": [],
  "warnings": []
}

MCP: sosoapi_preview_report_template