गोपनीयता प्राथमिकताएँ

आवश्यक सुविधाएँ

सुरक्षा और साइट की बुनियादी सुविधाओं के लिए आवश्यक।

हमेशा चालू

Landing डायग्नोस्टिक्स और छिपी सामग्री वाला रीप्ले

केवल इस टैब के अनाम ID से सार्वजनिक विज़िट, बीच में छोड़ने और साइनअप लिंक के साथ इंटरैक्शन को मापता है, बिना खाते से जोड़े। सारा टेक्स्ट छिपाया जाता है और फ़ॉर्म ब्लॉक किए जाते हैं।

वैकल्पिक उपयोग एनालिटिक्स

PostHog उपयोग एनालिटिक्स की अनुमति दें? फ़ुटर में कभी भी अपना चुनाव बदलें।

इस सार्वजनिक वेबसाइट पर सत्र रीप्ले की भी अनुमति दें

वैकल्पिक क्रॉस-साइट मोड के रीप्ले में इनपुट और निजी कंटेंट छिपाकर सार्वजनिक पेज और इंटरैक्शन दिखाए जाते हैं। App रीप्ले एक अलग चुनाव है।

वैकल्पिक एनालिटिक्स आवश्यक है; इस क्रॉस-साइट मोड में रीप्ले डिफ़ॉल्ट रूप से बंद रहता है। ऊपर दिया गया Landing मोड अलग से चलता है।

ब्राउज़र विश्लेषण से खाते का विश्लेषण चालू नहीं होता।

खोज केवल इस्तेमाल करने पर लोड होती है। नीचे सभी श्रेणियाँ देखें।

विज्ञापन

विज्ञापन प्रदर्शन का विश्लेषण

स्पष्ट एट्रिब्यूशन और स्रोत के सटीक हैश के साथ ग्राहक द्वारा दी गई सशुल्क विज्ञापन रिपोर्ट का सीमित विश्लेषण करें। प्रदाता की पहुँच या कारण-आधारित लाभप्रदता का कोई दावा नहीं है।

POST /advertising-api/performance/analyze

कॉन्ट्रैक्ट की समीक्षा: · sha256:9aedef8d43dd4514

परिचय

स्पष्ट एट्रिब्यूशन और स्रोत के सटीक हैश के साथ ग्राहक द्वारा दी गई सशुल्क विज्ञापन रिपोर्ट का सीमित विश्लेषण करें। प्रदाता की पहुँच या कारण-आधारित लाभप्रदता का कोई दावा नहीं है।

सफल HTTP रिस्पॉन्स का अर्थ अनुरोध पूरा होने के बजाय स्वीकार होना हो सकता है। बैकग्राउंड काम में लौटाई ID सहेजें और समाप्ति तक वही ऑपरेशन जाँचें। निर्धारित या स्वीकृत पोस्ट प्लेटफ़ॉर्म की पुष्टि पर ही प्रकाशित है; क्लाइंट टाइमआउट परिणाम सिद्ध नहीं करता।

प्रमाणीकरण और अनुमतियाँ

स्वीकार्य क्रेडेंशियल श्रेणियाँ
user_session, delegated_oauth, personal_access_token
प्रत्यायोजित क्षमता
agent:advertising_read
न्यूनतम वर्कस्पेस भूमिका
viewer
एक्सेस का दायरा
वे संसाधन जिनके एक्सेस के लिए यह यूज़र अधिकृत है
सभी वर्कस्पेस के लिए सहमति आवश्यक
नहीं
स्थिति बदलता है
नहीं
ऑपरेशन पूरा होने पर
synchronous_http_response

टोकन केवल मालिक के अधिकार इस्तेमाल कर सकता है। हर अनुरोध वर्कस्पेस सदस्यता, संसाधन स्वामित्व, चुने वर्कस्पेस और दी क्षमताएँ जाँचता है। Core और full प्रोफ़ाइल दिखने वाले टूल बदलते हैं; एक्सेस नहीं देते।

अनुरोध के फ़ील्ड

Required का अर्थ पैरेंट ऑब्जेक्ट और चुनी शाखा के भीतर अनिवार्य है। अनिवार्य चाइल्ड से वैकल्पिक पैरेंट अनिवार्य नहीं होता। नीचे के नियम और फ़ील्ड नाम कॉन्ट्रैक्ट से लिए गए हैं।

अनुरोध के फ़ील्ड
फ़ील्ड / शाखाप्रकार / अनिवार्यशर्तें
$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)$"
source_kindstringपैरेंट में अनिवार्य
  • enum: ["customer_import","official_meta_api"]
source_idstringपैरेंट में अनिवार्य
  • minLength: 1
  • maxLength: 100
provider_api_versionstringपैरेंट में अनिवार्य
  • const: "v26.0"
provider_account_idstringपैरेंट में अनिवार्य
  • pattern: "^[1-9]\\d{1,24}$"
currencystringपैरेंट में अनिवार्य
  • pattern: "^[A-Z]{3}$"
timezonestringपैरेंट में अनिवार्य
  • minLength: 1
  • maxLength: 100
levelstringपैरेंट में अनिवार्य
  • enum: ["campaign","adset","ad"]
start_datestringपैरेंट में अनिवार्य
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
end_datestringपैरेंट में अनिवार्य
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
action_attribution_windowsarrayपैरेंट में अनिवार्य
  • minItems: 1
  • maxItems: 1
action_attribution_windows[]stringवैकल्पिक / आइटम
  • enum: ["1d_click","7d_click","1d_view"]
action_report_timestringपैरेंट में अनिवार्य
  • enum: ["impression","conversion"]
conversion_action_typestringपैरेंट में अनिवार्य
  • pattern: "^[a-z][a-z0-9_.]{0,99}$"
revenue_action_typestringपैरेंट में अनिवार्य
  • pattern: "^[a-z][a-z0-9_.]{0,99}$"
completebooleanपैरेंट में अनिवार्य—
rowsarrayपैरेंट में अनिवार्य
  • maxItems: 500
rows[]objectवैकल्पिक / आइटम
  • additionalProperties: false
rows[].account_idstringपैरेंट में अनिवार्य
  • pattern: "^[1-9]\\d{1,24}$"
rows[].account_currencystringपैरेंट में अनिवार्य
  • pattern: "^[A-Z]{3}$"
rows[].campaign_idstringपैरेंट में अनिवार्य
  • pattern: "^[1-9]\\d{1,24}$"
rows[].campaign_namestringवैकल्पिक / आइटम
  • maxLength: 200
rows[].adset_idstringवैकल्पिक / आइटम
  • pattern: "^[1-9]\\d{1,24}$"
rows[].ad_idstringवैकल्पिक / आइटम
  • pattern: "^[1-9]\\d{1,24}$"
rows[].date_startstringपैरेंट में अनिवार्य
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
rows[].date_stopstringपैरेंट में अनिवार्य
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
rows[].spendstringवैकल्पिक / आइटम
  • pattern: "^\\d{1,12}(?:\\.\\d{1,6})?$"
rows[].clicksstringवैकल्पिक / आइटम
  • pattern: "^\\d{1,15}$"
rows[].actionsarrayवैकल्पिक / आइटम
  • maxItems: 100
rows[].actions[]objectवैकल्पिक / आइटम
  • additionalProperties: false
rows[].actions[].action_typestringपैरेंट में अनिवार्य
  • pattern: "^[a-z][a-z0-9_.]{0,99}$"
rows[].actions[].valuestringवैकल्पिक / आइटम
  • pattern: "^\\d{1,12}(?:\\.\\d{1,6})?$"
rows[].actions[].1d_clickstringवैकल्पिक / आइटम
  • pattern: "^\\d{1,12}(?:\\.\\d{1,6})?$"
rows[].actions[].7d_clickstringवैकल्पिक / आइटम
  • pattern: "^\\d{1,12}(?:\\.\\d{1,6})?$"
rows[].actions[].1d_viewstringवैकल्पिक / आइटम
  • pattern: "^\\d{1,12}(?:\\.\\d{1,6})?$"
rows[].action_valuesarrayवैकल्पिक / आइटम
  • maxItems: 100
rows[].action_values[]objectवैकल्पिक / आइटम
  • additionalProperties: false
rows[].action_values[].action_typestringपैरेंट में अनिवार्य
  • pattern: "^[a-z][a-z0-9_.]{0,99}$"
rows[].action_values[].valuestringवैकल्पिक / आइटम
  • pattern: "^\\d{1,12}(?:\\.\\d{1,6})?$"
rows[].action_values[].1d_clickstringवैकल्पिक / आइटम
  • pattern: "^\\d{1,12}(?:\\.\\d{1,6})?$"
rows[].action_values[].7d_clickstringवैकल्पिक / आइटम
  • pattern: "^\\d{1,12}(?:\\.\\d{1,6})?$"
rows[].action_values[].1d_viewstringवैकल्पिक / आइटम
  • pattern: "^\\d{1,12}(?:\\.\\d{1,6})?$"
संपूर्ण 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)$"
    },
    "source_kind": {
      "type": "string",
      "enum": [
        "customer_import",
        "official_meta_api"
      ]
    },
    "source_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "provider_api_version": {
      "type": "string",
      "const": "v26.0"
    },
    "provider_account_id": {
      "type": "string",
      "pattern": "^[1-9]\\d{1,24}$"
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Z]{3}$"
    },
    "timezone": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "level": {
      "type": "string",
      "enum": [
        "campaign",
        "adset",
        "ad"
      ]
    },
    "start_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "end_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "action_attribution_windows": {
      "minItems": 1,
      "maxItems": 1,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "1d_click",
          "7d_click",
          "1d_view"
        ]
      }
    },
    "action_report_time": {
      "type": "string",
      "enum": [
        "impression",
        "conversion"
      ]
    },
    "conversion_action_type": {
      "type": "string",
      "pattern": "^[a-z][a-z0-9_.]{0,99}$"
    },
    "revenue_action_type": {
      "type": "string",
      "pattern": "^[a-z][a-z0-9_.]{0,99}$"
    },
    "complete": {
      "type": "boolean"
    },
    "rows": {
      "maxItems": 500,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "string",
            "pattern": "^[1-9]\\d{1,24}$"
          },
          "account_currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$"
          },
          "campaign_id": {
            "type": "string",
            "pattern": "^[1-9]\\d{1,24}$"
          },
          "campaign_name": {
            "type": "string",
            "maxLength": 200
          },
          "adset_id": {
            "type": "string",
            "pattern": "^[1-9]\\d{1,24}$"
          },
          "ad_id": {
            "type": "string",
            "pattern": "^[1-9]\\d{1,24}$"
          },
          "date_start": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "date_stop": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "spend": {
            "type": "string",
            "pattern": "^\\d{1,12}(?:\\.\\d{1,6})?$"
          },
          "clicks": {
            "type": "string",
            "pattern": "^\\d{1,15}$"
          },
          "actions": {
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "action_type": {
                  "type": "string",
                  "pattern": "^[a-z][a-z0-9_.]{0,99}$"
                },
                "value": {
                  "type": "string",
                  "pattern": "^\\d{1,12}(?:\\.\\d{1,6})?$"
                },
                "1d_click": {
                  "type": "string",
                  "pattern": "^\\d{1,12}(?:\\.\\d{1,6})?$"
                },
                "7d_click": {
                  "type": "string",
                  "pattern": "^\\d{1,12}(?:\\.\\d{1,6})?$"
                },
                "1d_view": {
                  "type": "string",
                  "pattern": "^\\d{1,12}(?:\\.\\d{1,6})?$"
                }
              },
              "required": [
                "action_type"
              ],
              "additionalProperties": false
            }
          },
          "action_values": {
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "action_type": {
                  "type": "string",
                  "pattern": "^[a-z][a-z0-9_.]{0,99}$"
                },
                "value": {
                  "type": "string",
                  "pattern": "^\\d{1,12}(?:\\.\\d{1,6})?$"
                },
                "1d_click": {
                  "type": "string",
                  "pattern": "^\\d{1,12}(?:\\.\\d{1,6})?$"
                },
                "7d_click": {
                  "type": "string",
                  "pattern": "^\\d{1,12}(?:\\.\\d{1,6})?$"
                },
                "1d_view": {
                  "type": "string",
                  "pattern": "^\\d{1,12}(?:\\.\\d{1,6})?$"
                }
              },
              "required": [
                "action_type"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "account_id",
          "account_currency",
          "campaign_id",
          "date_start",
          "date_stop"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "workspace_id",
    "source_kind",
    "source_id",
    "provider_api_version",
    "provider_account_id",
    "currency",
    "timezone",
    "level",
    "start_date",
    "end_date",
    "action_attribution_windows",
    "action_report_time",
    "conversion_action_type",
    "revenue_action_type",
    "complete",
    "rows"
  ],
  "additionalProperties": false
}

रिस्पॉन्स और पूर्णता

सफल HTTP स्टेटस: 200. When the operation is complete: synchronous_http_response.

सफल HTTP रिस्पॉन्स का अर्थ अनुरोध पूरा होने के बजाय स्वीकार होना हो सकता है। बैकग्राउंड काम में लौटाई ID सहेजें और समाप्ति तक वही ऑपरेशन जाँचें। निर्धारित या स्वीकृत पोस्ट प्लेटफ़ॉर्म की पुष्टि पर ही प्रकाशित है; क्लाइंट टाइमआउट परिणाम सिद्ध नहीं करता।

Required का अर्थ पैरेंट ऑब्जेक्ट और चुनी शाखा के भीतर अनिवार्य है। अनिवार्य चाइल्ड से वैकल्पिक पैरेंट अनिवार्य नहीं होता। नीचे के नियम और फ़ील्ड नाम कॉन्ट्रैक्ट से लिए गए हैं।

रिस्पॉन्स और पूर्णता
फ़ील्ड / शाखाप्रकार / अनिवार्यशर्तें
$objectपैरेंट में अनिवार्य—
contract_versionstringपैरेंट में अनिवार्य
  • const: "ad-performance/v1"
source_idstringपैरेंट में अनिवार्य
  • maxLength: 100
source_sha256stringपैरेंट में अनिवार्य
  • pattern: "^[a-f0-9]{64}$"
identity_verificationstringपैरेंट में अनिवार्य
  • enum: ["customer_supplied","accepted_provider_grant"]
currencystringपैरेंट में अनिवार्य
  • pattern: "^[A-Z]{3}$"
timezonestringपैरेंट में अनिवार्य
  • maxLength: 100
selectionobjectपैरेंट में अनिवार्य—
selection.provider_api_versionstringपैरेंट में अनिवार्य
  • const: "v26.0"
selection.provider_account_idstringपैरेंट में अनिवार्य
  • pattern: "^[1-9]\\d{1,24}$"
selection.currencystringपैरेंट में अनिवार्य
  • pattern: "^[A-Z]{3}$"
selection.timezonestringपैरेंट में अनिवार्य
  • maxLength: 100
selection.levelstringपैरेंट में अनिवार्य
  • enum: ["campaign","adset","ad"]
selection.start_datestringपैरेंट में अनिवार्य
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
selection.end_datestringपैरेंट में अनिवार्य
  • pattern: "^\\d{4}-\\d{2}-\\d{2}$"
selection.action_attribution_windowsarrayपैरेंट में अनिवार्य
  • minItems: 1
  • maxItems: 1
selection.action_attribution_windows[]stringवैकल्पिक / आइटम
  • enum: ["1d_click","7d_click","1d_view"]
selection.action_report_timestringपैरेंट में अनिवार्य
  • enum: ["impression","conversion"]
selection.conversion_action_typestringपैरेंट में अनिवार्य
  • maxLength: 100
selection.revenue_action_typestringपैरेंट में अनिवार्य
  • maxLength: 100
completebooleanपैरेंट में अनिवार्य—
rowsarrayपैरेंट में अनिवार्य
  • maxItems: 500
rows[]objectवैकल्पिक / आइटम—
rows[].row_idstringपैरेंट में अनिवार्य
  • maxLength: 100
rows[].metricsobjectपैरेंट में अनिवार्य—
rows[].metrics.spendobjectपैरेंट में अनिवार्य—
rows[].metrics.spend.valuestring | nullपैरेंट में अनिवार्य—
rows[].metrics.spend.valueanyOf 1stringपैरेंट में अनिवार्य
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
rows[].metrics.spend.valueanyOf 2nullपैरेंट में अनिवार्य—
rows[].metrics.spend.unitstringपैरेंट में अनिवार्य
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
rows[].metrics.spend.availabilitystringपैरेंट में अनिवार्य
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
rows[].metrics.spend.reasonstring | nullपैरेंट में अनिवार्य—
rows[].metrics.spend.reasonanyOf 1stringपैरेंट में अनिवार्य
  • maxLength: 300
rows[].metrics.spend.reasonanyOf 2nullपैरेंट में अनिवार्य—
rows[].metrics.spend.input_refsarrayपैरेंट में अनिवार्य
  • maxItems: 2000
rows[].metrics.spend.input_refs[]stringवैकल्पिक / आइटम
  • maxLength: 300
rows[].metrics.clicksobjectपैरेंट में अनिवार्य—
rows[].metrics.clicks.valuestring | nullपैरेंट में अनिवार्य—
rows[].metrics.clicks.valueanyOf 1stringपैरेंट में अनिवार्य
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
rows[].metrics.clicks.valueanyOf 2nullपैरेंट में अनिवार्य—
rows[].metrics.clicks.unitstringपैरेंट में अनिवार्य
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
rows[].metrics.clicks.availabilitystringपैरेंट में अनिवार्य
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
rows[].metrics.clicks.reasonstring | nullपैरेंट में अनिवार्य—
rows[].metrics.clicks.reasonanyOf 1stringपैरेंट में अनिवार्य
  • maxLength: 300
rows[].metrics.clicks.reasonanyOf 2nullपैरेंट में अनिवार्य—
rows[].metrics.clicks.input_refsarrayपैरेंट में अनिवार्य
  • maxItems: 2000
rows[].metrics.clicks.input_refs[]stringवैकल्पिक / आइटम
  • maxLength: 300
rows[].metrics.conversionsobjectपैरेंट में अनिवार्य—
rows[].metrics.conversions.valuestring | nullपैरेंट में अनिवार्य—
rows[].metrics.conversions.valueanyOf 1stringपैरेंट में अनिवार्य
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
rows[].metrics.conversions.valueanyOf 2nullपैरेंट में अनिवार्य—
rows[].metrics.conversions.unitstringपैरेंट में अनिवार्य
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
rows[].metrics.conversions.availabilitystringपैरेंट में अनिवार्य
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
rows[].metrics.conversions.reasonstring | nullपैरेंट में अनिवार्य—
rows[].metrics.conversions.reasonanyOf 1stringपैरेंट में अनिवार्य
  • maxLength: 300
rows[].metrics.conversions.reasonanyOf 2nullपैरेंट में अनिवार्य—
rows[].metrics.conversions.input_refsarrayपैरेंट में अनिवार्य
  • maxItems: 2000
rows[].metrics.conversions.input_refs[]stringवैकल्पिक / आइटम
  • maxLength: 300
rows[].metrics.attributed_revenueobjectपैरेंट में अनिवार्य—
rows[].metrics.attributed_revenue.valuestring | nullपैरेंट में अनिवार्य—
rows[].metrics.attributed_revenue.valueanyOf 1stringपैरेंट में अनिवार्य
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
rows[].metrics.attributed_revenue.valueanyOf 2nullपैरेंट में अनिवार्य—
rows[].metrics.attributed_revenue.unitstringपैरेंट में अनिवार्य
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
rows[].metrics.attributed_revenue.availabilitystringपैरेंट में अनिवार्य
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
rows[].metrics.attributed_revenue.reasonstring | nullपैरेंट में अनिवार्य—
rows[].metrics.attributed_revenue.reasonanyOf 1stringपैरेंट में अनिवार्य
  • maxLength: 300
rows[].metrics.attributed_revenue.reasonanyOf 2nullपैरेंट में अनिवार्य—
rows[].metrics.attributed_revenue.input_refsarrayपैरेंट में अनिवार्य
  • maxItems: 2000
rows[].metrics.attributed_revenue.input_refs[]stringवैकल्पिक / आइटम
  • maxLength: 300
rows[].metrics.cpcobjectपैरेंट में अनिवार्य—
rows[].metrics.cpc.valuestring | nullपैरेंट में अनिवार्य—
rows[].metrics.cpc.valueanyOf 1stringपैरेंट में अनिवार्य
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
rows[].metrics.cpc.valueanyOf 2nullपैरेंट में अनिवार्य—
rows[].metrics.cpc.unitstringपैरेंट में अनिवार्य
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
rows[].metrics.cpc.availabilitystringपैरेंट में अनिवार्य
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
rows[].metrics.cpc.reasonstring | nullपैरेंट में अनिवार्य—
rows[].metrics.cpc.reasonanyOf 1stringपैरेंट में अनिवार्य
  • maxLength: 300
rows[].metrics.cpc.reasonanyOf 2nullपैरेंट में अनिवार्य—
rows[].metrics.cpc.input_refsarrayपैरेंट में अनिवार्य
  • maxItems: 2000
rows[].metrics.cpc.input_refs[]stringवैकल्पिक / आइटम
  • maxLength: 300
rows[].metrics.cpaobjectपैरेंट में अनिवार्य—
rows[].metrics.cpa.valuestring | nullपैरेंट में अनिवार्य—
rows[].metrics.cpa.valueanyOf 1stringपैरेंट में अनिवार्य
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
rows[].metrics.cpa.valueanyOf 2nullपैरेंट में अनिवार्य—
rows[].metrics.cpa.unitstringपैरेंट में अनिवार्य
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
rows[].metrics.cpa.availabilitystringपैरेंट में अनिवार्य
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
rows[].metrics.cpa.reasonstring | nullपैरेंट में अनिवार्य—
rows[].metrics.cpa.reasonanyOf 1stringपैरेंट में अनिवार्य
  • maxLength: 300
rows[].metrics.cpa.reasonanyOf 2nullपैरेंट में अनिवार्य—
rows[].metrics.cpa.input_refsarrayपैरेंट में अनिवार्य
  • maxItems: 2000
rows[].metrics.cpa.input_refs[]stringवैकल्पिक / आइटम
  • maxLength: 300
rows[].metrics.attributed_roasobjectपैरेंट में अनिवार्य—
rows[].metrics.attributed_roas.valuestring | nullपैरेंट में अनिवार्य—
rows[].metrics.attributed_roas.valueanyOf 1stringपैरेंट में अनिवार्य
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
rows[].metrics.attributed_roas.valueanyOf 2nullपैरेंट में अनिवार्य—
rows[].metrics.attributed_roas.unitstringपैरेंट में अनिवार्य
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
rows[].metrics.attributed_roas.availabilitystringपैरेंट में अनिवार्य
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
rows[].metrics.attributed_roas.reasonstring | nullपैरेंट में अनिवार्य—
rows[].metrics.attributed_roas.reasonanyOf 1stringपैरेंट में अनिवार्य
  • maxLength: 300
rows[].metrics.attributed_roas.reasonanyOf 2nullपैरेंट में अनिवार्य—
rows[].metrics.attributed_roas.input_refsarrayपैरेंट में अनिवार्य
  • maxItems: 2000
rows[].metrics.attributed_roas.input_refs[]stringवैकल्पिक / आइटम
  • maxLength: 300
totalsobjectपैरेंट में अनिवार्य—
totals.spendobjectपैरेंट में अनिवार्य—
totals.spend.valuestring | nullपैरेंट में अनिवार्य—
totals.spend.valueanyOf 1stringपैरेंट में अनिवार्य
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
totals.spend.valueanyOf 2nullपैरेंट में अनिवार्य—
totals.spend.unitstringपैरेंट में अनिवार्य
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
totals.spend.availabilitystringपैरेंट में अनिवार्य
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
totals.spend.reasonstring | nullपैरेंट में अनिवार्य—
totals.spend.reasonanyOf 1stringपैरेंट में अनिवार्य
  • maxLength: 300
totals.spend.reasonanyOf 2nullपैरेंट में अनिवार्य—
totals.spend.input_refsarrayपैरेंट में अनिवार्य
  • maxItems: 2000
totals.spend.input_refs[]stringवैकल्पिक / आइटम
  • maxLength: 300
totals.clicksobjectपैरेंट में अनिवार्य—
totals.clicks.valuestring | nullपैरेंट में अनिवार्य—
totals.clicks.valueanyOf 1stringपैरेंट में अनिवार्य
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
totals.clicks.valueanyOf 2nullपैरेंट में अनिवार्य—
totals.clicks.unitstringपैरेंट में अनिवार्य
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
totals.clicks.availabilitystringपैरेंट में अनिवार्य
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
totals.clicks.reasonstring | nullपैरेंट में अनिवार्य—
totals.clicks.reasonanyOf 1stringपैरेंट में अनिवार्य
  • maxLength: 300
totals.clicks.reasonanyOf 2nullपैरेंट में अनिवार्य—
totals.clicks.input_refsarrayपैरेंट में अनिवार्य
  • maxItems: 2000
totals.clicks.input_refs[]stringवैकल्पिक / आइटम
  • maxLength: 300
totals.conversionsobjectपैरेंट में अनिवार्य—
totals.conversions.valuestring | nullपैरेंट में अनिवार्य—
totals.conversions.valueanyOf 1stringपैरेंट में अनिवार्य
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
totals.conversions.valueanyOf 2nullपैरेंट में अनिवार्य—
totals.conversions.unitstringपैरेंट में अनिवार्य
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
totals.conversions.availabilitystringपैरेंट में अनिवार्य
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
totals.conversions.reasonstring | nullपैरेंट में अनिवार्य—
totals.conversions.reasonanyOf 1stringपैरेंट में अनिवार्य
  • maxLength: 300
totals.conversions.reasonanyOf 2nullपैरेंट में अनिवार्य—
totals.conversions.input_refsarrayपैरेंट में अनिवार्य
  • maxItems: 2000
totals.conversions.input_refs[]stringवैकल्पिक / आइटम
  • maxLength: 300
totals.attributed_revenueobjectपैरेंट में अनिवार्य—
totals.attributed_revenue.valuestring | nullपैरेंट में अनिवार्य—
totals.attributed_revenue.valueanyOf 1stringपैरेंट में अनिवार्य
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
totals.attributed_revenue.valueanyOf 2nullपैरेंट में अनिवार्य—
totals.attributed_revenue.unitstringपैरेंट में अनिवार्य
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
totals.attributed_revenue.availabilitystringपैरेंट में अनिवार्य
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
totals.attributed_revenue.reasonstring | nullपैरेंट में अनिवार्य—
totals.attributed_revenue.reasonanyOf 1stringपैरेंट में अनिवार्य
  • maxLength: 300
totals.attributed_revenue.reasonanyOf 2nullपैरेंट में अनिवार्य—
totals.attributed_revenue.input_refsarrayपैरेंट में अनिवार्य
  • maxItems: 2000
totals.attributed_revenue.input_refs[]stringवैकल्पिक / आइटम
  • maxLength: 300
totals.cpcobjectपैरेंट में अनिवार्य—
totals.cpc.valuestring | nullपैरेंट में अनिवार्य—
totals.cpc.valueanyOf 1stringपैरेंट में अनिवार्य
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
totals.cpc.valueanyOf 2nullपैरेंट में अनिवार्य—
totals.cpc.unitstringपैरेंट में अनिवार्य
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
totals.cpc.availabilitystringपैरेंट में अनिवार्य
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
totals.cpc.reasonstring | nullपैरेंट में अनिवार्य—
totals.cpc.reasonanyOf 1stringपैरेंट में अनिवार्य
  • maxLength: 300
totals.cpc.reasonanyOf 2nullपैरेंट में अनिवार्य—
totals.cpc.input_refsarrayपैरेंट में अनिवार्य
  • maxItems: 2000
totals.cpc.input_refs[]stringवैकल्पिक / आइटम
  • maxLength: 300
totals.cpaobjectपैरेंट में अनिवार्य—
totals.cpa.valuestring | nullपैरेंट में अनिवार्य—
totals.cpa.valueanyOf 1stringपैरेंट में अनिवार्य
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
totals.cpa.valueanyOf 2nullपैरेंट में अनिवार्य—
totals.cpa.unitstringपैरेंट में अनिवार्य
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
totals.cpa.availabilitystringपैरेंट में अनिवार्य
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
totals.cpa.reasonstring | nullपैरेंट में अनिवार्य—
totals.cpa.reasonanyOf 1stringपैरेंट में अनिवार्य
  • maxLength: 300
totals.cpa.reasonanyOf 2nullपैरेंट में अनिवार्य—
totals.cpa.input_refsarrayपैरेंट में अनिवार्य
  • maxItems: 2000
totals.cpa.input_refs[]stringवैकल्पिक / आइटम
  • maxLength: 300
totals.attributed_roasobjectपैरेंट में अनिवार्य—
totals.attributed_roas.valuestring | nullपैरेंट में अनिवार्य—
totals.attributed_roas.valueanyOf 1stringपैरेंट में अनिवार्य
  • pattern: "^\\d{1,24}(?:\\.\\d{1,6})?$"
totals.attributed_roas.valueanyOf 2nullपैरेंट में अनिवार्य—
totals.attributed_roas.unitstringपैरेंट में अनिवार्य
  • enum: ["currency","count","currency_per_click","currency_per_conversion","ratio"]
totals.attributed_roas.availabilitystringपैरेंट में अनिवार्य
  • enum: ["available","missing_input","zero_denominator","incompatible","partial"]
totals.attributed_roas.reasonstring | nullपैरेंट में अनिवार्य—
totals.attributed_roas.reasonanyOf 1stringपैरेंट में अनिवार्य
  • maxLength: 300
totals.attributed_roas.reasonanyOf 2nullपैरेंट में अनिवार्य—
totals.attributed_roas.input_refsarrayपैरेंट में अनिवार्य
  • maxItems: 2000
totals.attributed_roas.input_refs[]stringवैकल्पिक / आइटम
  • maxLength: 300
gapsarrayपैरेंट में अनिवार्य
  • maxItems: 1000
gaps[]stringवैकल्पिक / आइटम
  • maxLength: 300
suggestionsarrayपैरेंट में अनिवार्य
  • maxItems: 3
suggestions[]objectवैकल्पिक / आइटम—
suggestions[].rule_idstringपैरेंट में अनिवार्य
  • enum: ["supply_revenue","review_comparable_creative_test","complete_coverage"]
suggestions[].rule_versionnumberपैरेंट में अनिवार्य
  • const: 1
suggestions[].proposalstringपैरेंट में अनिवार्य
  • maxLength: 600
suggestions[].input_refsarrayपैरेंट में अनिवार्य
  • maxItems: 2000
suggestions[].input_refs[]stringवैकल्पिक / आइटम
  • maxLength: 300
suggestions[].limitationsstringपैरेंट में अनिवार्य
  • const: "Observational comparison only; no causal uplift or profitability claim. Human review required."
संपूर्ण JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "const": "ad-performance/v1"
    },
    "source_id": {
      "type": "string",
      "maxLength": 100
    },
    "source_sha256": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "identity_verification": {
      "type": "string",
      "enum": [
        "customer_supplied",
        "accepted_provider_grant"
      ]
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Z]{3}$"
    },
    "timezone": {
      "type": "string",
      "maxLength": 100
    },
    "selection": {
      "type": "object",
      "properties": {
        "provider_api_version": {
          "type": "string",
          "const": "v26.0"
        },
        "provider_account_id": {
          "type": "string",
          "pattern": "^[1-9]\\d{1,24}$"
        },
        "currency": {
          "type": "string",
          "pattern": "^[A-Z]{3}$"
        },
        "timezone": {
          "type": "string",
          "maxLength": 100
        },
        "level": {
          "type": "string",
          "enum": [
            "campaign",
            "adset",
            "ad"
          ]
        },
        "start_date": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "end_date": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "action_attribution_windows": {
          "minItems": 1,
          "maxItems": 1,
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "1d_click",
              "7d_click",
              "1d_view"
            ]
          }
        },
        "action_report_time": {
          "type": "string",
          "enum": [
            "impression",
            "conversion"
          ]
        },
        "conversion_action_type": {
          "type": "string",
          "maxLength": 100
        },
        "revenue_action_type": {
          "type": "string",
          "maxLength": 100
        }
      },
      "required": [
        "provider_api_version",
        "provider_account_id",
        "currency",
        "timezone",
        "level",
        "start_date",
        "end_date",
        "action_attribution_windows",
        "action_report_time",
        "conversion_action_type",
        "revenue_action_type"
      ]
    },
    "complete": {
      "type": "boolean"
    },
    "rows": {
      "maxItems": 500,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "row_id": {
            "type": "string",
            "maxLength": 100
          },
          "metrics": {
            "type": "object",
            "properties": {
              "spend": {
                "type": "object",
                "properties": {
                  "value": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "unit": {
                    "type": "string",
                    "enum": [
                      "currency",
                      "count",
                      "currency_per_click",
                      "currency_per_conversion",
                      "ratio"
                    ]
                  },
                  "availability": {
                    "type": "string",
                    "enum": [
                      "available",
                      "missing_input",
                      "zero_denominator",
                      "incompatible",
                      "partial"
                    ]
                  },
                  "reason": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 300
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "input_refs": {
                    "maxItems": 2000,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 300
                    }
                  }
                },
                "required": [
                  "value",
                  "unit",
                  "availability",
                  "reason",
                  "input_refs"
                ]
              },
              "clicks": {
                "type": "object",
                "properties": {
                  "value": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "unit": {
                    "type": "string",
                    "enum": [
                      "currency",
                      "count",
                      "currency_per_click",
                      "currency_per_conversion",
                      "ratio"
                    ]
                  },
                  "availability": {
                    "type": "string",
                    "enum": [
                      "available",
                      "missing_input",
                      "zero_denominator",
                      "incompatible",
                      "partial"
                    ]
                  },
                  "reason": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 300
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "input_refs": {
                    "maxItems": 2000,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 300
                    }
                  }
                },
                "required": [
                  "value",
                  "unit",
                  "availability",
                  "reason",
                  "input_refs"
                ]
              },
              "conversions": {
                "type": "object",
                "properties": {
                  "value": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "unit": {
                    "type": "string",
                    "enum": [
                      "currency",
                      "count",
                      "currency_per_click",
                      "currency_per_conversion",
                      "ratio"
                    ]
                  },
                  "availability": {
                    "type": "string",
                    "enum": [
                      "available",
                      "missing_input",
                      "zero_denominator",
                      "incompatible",
                      "partial"
                    ]
                  },
                  "reason": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 300
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "input_refs": {
                    "maxItems": 2000,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 300
                    }
                  }
                },
                "required": [
                  "value",
                  "unit",
                  "availability",
                  "reason",
                  "input_refs"
                ]
              },
              "attributed_revenue": {
                "type": "object",
                "properties": {
                  "value": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "unit": {
                    "type": "string",
                    "enum": [
                      "currency",
                      "count",
                      "currency_per_click",
                      "currency_per_conversion",
                      "ratio"
                    ]
                  },
                  "availability": {
                    "type": "string",
                    "enum": [
                      "available",
                      "missing_input",
                      "zero_denominator",
                      "incompatible",
                      "partial"
                    ]
                  },
                  "reason": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 300
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "input_refs": {
                    "maxItems": 2000,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 300
                    }
                  }
                },
                "required": [
                  "value",
                  "unit",
                  "availability",
                  "reason",
                  "input_refs"
                ]
              },
              "cpc": {
                "type": "object",
                "properties": {
                  "value": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "unit": {
                    "type": "string",
                    "enum": [
                      "currency",
                      "count",
                      "currency_per_click",
                      "currency_per_conversion",
                      "ratio"
                    ]
                  },
                  "availability": {
                    "type": "string",
                    "enum": [
                      "available",
                      "missing_input",
                      "zero_denominator",
                      "incompatible",
                      "partial"
                    ]
                  },
                  "reason": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 300
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "input_refs": {
                    "maxItems": 2000,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 300
                    }
                  }
                },
                "required": [
                  "value",
                  "unit",
                  "availability",
                  "reason",
                  "input_refs"
                ]
              },
              "cpa": {
                "type": "object",
                "properties": {
                  "value": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "unit": {
                    "type": "string",
                    "enum": [
                      "currency",
                      "count",
                      "currency_per_click",
                      "currency_per_conversion",
                      "ratio"
                    ]
                  },
                  "availability": {
                    "type": "string",
                    "enum": [
                      "available",
                      "missing_input",
                      "zero_denominator",
                      "incompatible",
                      "partial"
                    ]
                  },
                  "reason": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 300
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "input_refs": {
                    "maxItems": 2000,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 300
                    }
                  }
                },
                "required": [
                  "value",
                  "unit",
                  "availability",
                  "reason",
                  "input_refs"
                ]
              },
              "attributed_roas": {
                "type": "object",
                "properties": {
                  "value": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "unit": {
                    "type": "string",
                    "enum": [
                      "currency",
                      "count",
                      "currency_per_click",
                      "currency_per_conversion",
                      "ratio"
                    ]
                  },
                  "availability": {
                    "type": "string",
                    "enum": [
                      "available",
                      "missing_input",
                      "zero_denominator",
                      "incompatible",
                      "partial"
                    ]
                  },
                  "reason": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 300
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "input_refs": {
                    "maxItems": 2000,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 300
                    }
                  }
                },
                "required": [
                  "value",
                  "unit",
                  "availability",
                  "reason",
                  "input_refs"
                ]
              }
            },
            "required": [
              "spend",
              "clicks",
              "conversions",
              "attributed_revenue",
              "cpc",
              "cpa",
              "attributed_roas"
            ]
          }
        },
        "required": [
          "row_id",
          "metrics"
        ]
      }
    },
    "totals": {
      "type": "object",
      "properties": {
        "spend": {
          "type": "object",
          "properties": {
            "value": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "unit": {
              "type": "string",
              "enum": [
                "currency",
                "count",
                "currency_per_click",
                "currency_per_conversion",
                "ratio"
              ]
            },
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "missing_input",
                "zero_denominator",
                "incompatible",
                "partial"
              ]
            },
            "reason": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 300
                },
                {
                  "type": "null"
                }
              ]
            },
            "input_refs": {
              "maxItems": 2000,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 300
              }
            }
          },
          "required": [
            "value",
            "unit",
            "availability",
            "reason",
            "input_refs"
          ]
        },
        "clicks": {
          "type": "object",
          "properties": {
            "value": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "unit": {
              "type": "string",
              "enum": [
                "currency",
                "count",
                "currency_per_click",
                "currency_per_conversion",
                "ratio"
              ]
            },
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "missing_input",
                "zero_denominator",
                "incompatible",
                "partial"
              ]
            },
            "reason": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 300
                },
                {
                  "type": "null"
                }
              ]
            },
            "input_refs": {
              "maxItems": 2000,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 300
              }
            }
          },
          "required": [
            "value",
            "unit",
            "availability",
            "reason",
            "input_refs"
          ]
        },
        "conversions": {
          "type": "object",
          "properties": {
            "value": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "unit": {
              "type": "string",
              "enum": [
                "currency",
                "count",
                "currency_per_click",
                "currency_per_conversion",
                "ratio"
              ]
            },
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "missing_input",
                "zero_denominator",
                "incompatible",
                "partial"
              ]
            },
            "reason": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 300
                },
                {
                  "type": "null"
                }
              ]
            },
            "input_refs": {
              "maxItems": 2000,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 300
              }
            }
          },
          "required": [
            "value",
            "unit",
            "availability",
            "reason",
            "input_refs"
          ]
        },
        "attributed_revenue": {
          "type": "object",
          "properties": {
            "value": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "unit": {
              "type": "string",
              "enum": [
                "currency",
                "count",
                "currency_per_click",
                "currency_per_conversion",
                "ratio"
              ]
            },
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "missing_input",
                "zero_denominator",
                "incompatible",
                "partial"
              ]
            },
            "reason": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 300
                },
                {
                  "type": "null"
                }
              ]
            },
            "input_refs": {
              "maxItems": 2000,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 300
              }
            }
          },
          "required": [
            "value",
            "unit",
            "availability",
            "reason",
            "input_refs"
          ]
        },
        "cpc": {
          "type": "object",
          "properties": {
            "value": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "unit": {
              "type": "string",
              "enum": [
                "currency",
                "count",
                "currency_per_click",
                "currency_per_conversion",
                "ratio"
              ]
            },
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "missing_input",
                "zero_denominator",
                "incompatible",
                "partial"
              ]
            },
            "reason": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 300
                },
                {
                  "type": "null"
                }
              ]
            },
            "input_refs": {
              "maxItems": 2000,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 300
              }
            }
          },
          "required": [
            "value",
            "unit",
            "availability",
            "reason",
            "input_refs"
          ]
        },
        "cpa": {
          "type": "object",
          "properties": {
            "value": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "unit": {
              "type": "string",
              "enum": [
                "currency",
                "count",
                "currency_per_click",
                "currency_per_conversion",
                "ratio"
              ]
            },
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "missing_input",
                "zero_denominator",
                "incompatible",
                "partial"
              ]
            },
            "reason": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 300
                },
                {
                  "type": "null"
                }
              ]
            },
            "input_refs": {
              "maxItems": 2000,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 300
              }
            }
          },
          "required": [
            "value",
            "unit",
            "availability",
            "reason",
            "input_refs"
          ]
        },
        "attributed_roas": {
          "type": "object",
          "properties": {
            "value": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^\\d{1,24}(?:\\.\\d{1,6})?$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "unit": {
              "type": "string",
              "enum": [
                "currency",
                "count",
                "currency_per_click",
                "currency_per_conversion",
                "ratio"
              ]
            },
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "missing_input",
                "zero_denominator",
                "incompatible",
                "partial"
              ]
            },
            "reason": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 300
                },
                {
                  "type": "null"
                }
              ]
            },
            "input_refs": {
              "maxItems": 2000,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 300
              }
            }
          },
          "required": [
            "value",
            "unit",
            "availability",
            "reason",
            "input_refs"
          ]
        }
      },
      "required": [
        "spend",
        "clicks",
        "conversions",
        "attributed_revenue",
        "cpc",
        "cpa",
        "attributed_roas"
      ]
    },
    "gaps": {
      "maxItems": 1000,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 300
      }
    },
    "suggestions": {
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "rule_id": {
            "type": "string",
            "enum": [
              "supply_revenue",
              "review_comparable_creative_test",
              "complete_coverage"
            ]
          },
          "rule_version": {
            "type": "number",
            "const": 1
          },
          "proposal": {
            "type": "string",
            "maxLength": 600
          },
          "input_refs": {
            "maxItems": 2000,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 300
            }
          },
          "limitations": {
            "type": "string",
            "const": "Observational comparison only; no causal uplift or profitability claim. Human review required."
          }
        },
        "required": [
          "rule_id",
          "rule_version",
          "proposal",
          "input_refs",
          "limitations"
        ]
      }
    }
  },
  "required": [
    "contract_version",
    "source_id",
    "source_sha256",
    "identity_verification",
    "currency",
    "timezone",
    "selection",
    "complete",
    "rows",
    "totals",
    "gaps",
    "suggestions"
  ]
}

त्रुटियाँ और सुरक्षित पुनः प्रयास

HTTP स्टेटस और रिस्पॉन्स बॉडी जाँचें। 400 वैलिडेशन त्रुटि में ZodError हो सकता है; हैंडलर त्रुटियाँ error, message और code फ़ील्ड इस्तेमाल करती हैं। जाँच के लिए request_id या x-request-id रखें, क्रेडेंशियल के बिना। फिर प्रयास से पहले 401/403 एक्सेस त्रुटियाँ ठीक करें और 429 के लिए Retry-After का पालन करें। राइट अनिश्चित हो या 5xx लौटाए, तो पहले मौजूदा परिणाम पढ़ें। idempotency key केवल समर्थित स्थान पर दोबारा इस्तेमाल करें; पुनः प्रयास का व्यवहार ऑपरेशन के अनुसार बदलता है और ठीक एक बार डिलीवरी की गारंटी नहीं देता।

समस्या निवारण गाइड

उदाहरण

उदाहरणों में स्कीमा से जाँचे काल्पनिक मान हैं। IDs को अधिकृत IDs, मीडिया को तैयार एसेट और तारीखों को पुष्ट प्रकाशन समय से बदलें। राइट सबमिट करने से पहले खाते की पात्रता जाँचें। यह पेज API अनुरोध नहीं भेजता।

सर्वर पर SOSOAPI_ACCESS_TOKEN को इस ऑपरेशन के स्वीकार्य क्रेडेंशियल से सेट करें और ब्राउज़र कोड से बाहर रखें। AI एजेंट के लिए sosoapi auth login से ब्राउज़र साइन-इन करें और CLI को क्रेडेंशियल रिफ़्रेश करने दें।

request.json

{
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "source_kind": "customer_import",
  "source_id": "example",
  "provider_api_version": "v26.0",
  "provider_account_id": "12345",
  "currency": "USD",
  "timezone": "UTC",
  "level": "campaign",
  "start_date": "2099-01-15",
  "end_date": "2099-01-15",
  "action_attribution_windows": [
    "1d_click"
  ],
  "action_report_time": "impression",
  "conversion_action_type": "example",
  "revenue_action_type": "example",
  "complete": false,
  "rows": []
}

cURL

curl --request POST \
  "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/advertising-api/performance/analyze" \
  -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/advertising-api/performance/analyze", {
  method: "POST",
  headers: { "Content-Type": "application/json", Authorization: "Bearer " + token },
  body: JSON.stringify({
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "source_kind": "customer_import",
  "source_id": "example",
  "provider_api_version": "v26.0",
  "provider_account_id": "12345",
  "currency": "USD",
  "timezone": "UTC",
  "level": "campaign",
  "start_date": "2099-01-15",
  "end_date": "2099-01-15",
  "action_attribution_windows": [
    "1d_click"
  ],
  "action_report_time": "impression",
  "conversion_action_type": "example",
  "revenue_action_type": "example",
  "complete": false,
  "rows": []
})
});
const result = await response.json();
// Check response.ok, the operation-specific body and completion state before continuing.

CLI

npx sosoapi api post /advertising-api/performance/analyze < request.json

कृत्रिम रिस्पॉन्स का उदाहरण

{
  "contract_version": "ad-performance/v1",
  "source_id": "example",
  "source_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "identity_verification": "customer_supplied",
  "currency": "USD",
  "timezone": "UTC",
  "selection": {
    "provider_api_version": "v26.0",
    "provider_account_id": "12345",
    "currency": "USD",
    "timezone": "UTC",
    "level": "campaign",
    "start_date": "2099-01-15",
    "end_date": "2099-01-15",
    "action_attribution_windows": [
      "1d_click"
    ],
    "action_report_time": "impression",
    "conversion_action_type": "example",
    "revenue_action_type": "example"
  },
  "complete": false,
  "rows": [],
  "totals": {
    "spend": {
      "value": null,
      "unit": "currency",
      "availability": "available",
      "reason": null,
      "input_refs": []
    },
    "clicks": {
      "value": null,
      "unit": "currency",
      "availability": "available",
      "reason": null,
      "input_refs": []
    },
    "conversions": {
      "value": null,
      "unit": "currency",
      "availability": "available",
      "reason": null,
      "input_refs": []
    },
    "attributed_revenue": {
      "value": null,
      "unit": "currency",
      "availability": "available",
      "reason": null,
      "input_refs": []
    },
    "cpc": {
      "value": null,
      "unit": "currency",
      "availability": "available",
      "reason": null,
      "input_refs": []
    },
    "cpa": {
      "value": null,
      "unit": "currency",
      "availability": "available",
      "reason": null,
      "input_refs": []
    },
    "attributed_roas": {
      "value": null,
      "unit": "currency",
      "availability": "available",
      "reason": null,
      "input_refs": []
    }
  },
  "gaps": [],
  "suggestions": []
}

MCP: sosoapi_ads_performance_analyze