Returns the latest known forecast and granted purchase points for each order.
Data availability
Data comes from the latest completed daily snapshot, not a live calculation. Check HasPublishedSnapshot,
SnapshotStartedAt and SnapshotCompletedAt to identify its availability and age. Without a published
snapshot, Items is empty and HasPublishedSnapshot is false. The report must be enabled for the tenant.
Date range
Both from and to filter OrderPlacementDate: the date and time the order was placed in the source platform.
They do not filter the point grant date, expected availability date, cancellation date or snapshot date.
Both boundaries are inclusive and converted to UTC before comparison. Times are preserved; the API does
not expand dates to the start or end of the day. Send ISO 8601 timestamps with Z or an explicit UTC offset.
For example, from=2026-09-01T00:00:00Z and to=2026-09-01T23:59:59.9999999Z cover September 1 in UTC.
A to value of 2026-09-01T00:00:00Z includes only midnight at that boundary, not the rest of September 1.
URL-encode a positive offset’s plus sign as %2B.
Forecast and granted values
Pending items contain Forecast and no Grant.
Granted items contain Grant and preserve Forecast when the order appeared as pending in an earlier snapshot.
Historical grants may not have a Forecast.
Grant keeps the original persisted granted values; NetPoints, NetCashback and Reversal reflect later reversals.
Grant.Points and Grant.Cashback are gross historical values. Grant.Base and Grant.Campaigns represent
remaining net contributions after reversals, relative to NetPoints. Historical attribution may be incomplete;
on full reversal Grant.Campaigns is empty. Base is null when historical details cannot establish the base
contribution. A winning advanced scenario has zero Base and its Campaigns contain the full contribution
of the winning rules. Cashback components are rounded independently and may not sum to the total.
Combining filters and pagination
Supplied filters are combined with AND. Omitted optional filters do not restrict the result.
Campaign and attribution filters match Forecast allocations for Pending orders and Granted allocations for
Granted orders. Campaign and attribution criteria must match the same allocation.
Matching orders retain all their allocations and totals. Nonempty campaignKeys take precedence over campaignIds.
Summary and TotalItemCount cover all matching orders; Items contains only the requested page, ordered by
OrderPlacementDate descending, then internal order ID descending.
GET
/
v1
/
pvt
/
Reports
/
ListPurchasePoints
Returns the latest known forecast and granted purchase points for each order.
Inclusive lower boundary of OrderPlacementDate (when the order was placed), in ISO 8601 format. If omitted, the minimum DateTimeOffset value is used, effectively including all earlier orders. Does not filter when points were granted.
Inclusive upper boundary of OrderPlacementDate (when the order was placed), in ISO 8601 format. If omitted or default, the current UTC date and time is used. The supplied time is preserved; a date at midnight does not include the rest of that day.
Optional points state: Granted (0) for granted points or Pending (1) for forecast points awaiting grant. This is not the order's fulfillment status. Omit to include both; use isCancelledOrReversed to filter cancellations or reversals separately.
0 = Granted
1 = Pending
Optional availability flag recorded in the snapshot. true selects orders whose grant availability date had arrived, or which had no availability date; false selects orders whose availability date was still in the future. This flag alone does not mean points were granted. Combine with state=Pending to select pending orders whose availability date is no longer in the future. Omit to include both.
Optional cancellation/reversal flag recorded in the snapshot. true includes only orders marked as cancelled or with reversed points; false excludes them. Omit to include both. Inspect Grant, NetPoints, NetCashback and Reversal for the granted and remaining values.
Optional exact match on the order ID from the source platform, not the internal BonifiQ order ID. Leading and trailing whitespace is ignored; an empty value does not filter.
Optional exact match on the customer's original ID from the source platform, not the customer's BonifiQ public ID, email or document. Leading and trailing whitespace is ignored; an empty value does not filter.
Optional campaign IDs, matched across both Legacy purchase schedules and AdvancedRule sources. Ignored when nonempty campaignKeys is supplied. Repeat the query parameter for multiple IDs, for example campaignIds=123&campaignIds=456. Selects orders with an allocation for at least one supplied campaign, not necessarily all of them. Omit to include orders regardless of campaign.
Optional campaign allocation source: Exact (0) for attribution based on persisted per-campaign calculation details, or Inferred (1) for attribution reconstructed from available calculation data. Selects orders with at least one allocation of that source. Omit to include all sources and orders without campaign allocations.
0 = Exact
1 = Inferred
Requested number of orders per page. Default: 10; maximum: 10000. Values below 1 return HTTP 400. A configured tenant report page size overrides this request, subject to the same maximum. Check PageSize in the response for the effective size.
Optional campaign IDs qualified by source, taking precedence over campaignIds. Example: campaignKeys[0].CampaignId=5&campaignKeys[0].CampaignSource=AdvancedRule. CampaignSource accepts Legacy (0) or AdvancedRule (1). Use consecutive indexes [1], [2], etc. for additional keys. An allocation matching any supplied key qualifies.
Show child attributes
Response
200 - application/json
Snapshot metadata, a summary of all matching orders, and the requested page of orders with forecast, grant, reversal and campaign allocation details.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"BonifiQ Developers","colors":{"primary":"#8849f9","light":"#4DCCF8","dark":"#291D5C"},"logo":{"light":"https://mintcdn.com/bonifiq/GKwMiRtr4XYxzOf1/logo/logobonifiq.svg?fit=max\u0026auto=format\u0026n=GKwMiRtr4XYxzOf1\u0026q=85\u0026s=37aa2bf1ee2234bd01c4e9a3c1000de8","dark":"https://mintcdn.com/bonifiq/GKwMiRtr4XYxzOf1/logo/logobonifiq.svg?fit=max\u0026auto=format\u0026n=GKwMiRtr4XYxzOf1\u0026q=85\u0026s=37aa2bf1ee2234bd01c4e9a3c1000de8"},"favicon":"https://mintcdn.com/bonifiq/PGe7x4hEVfeKAenM/favicon2.png?fit=max\u0026auto=format\u0026n=PGe7x4hEVfeKAenM\u0026q=85\u0026s=5280058f655795a8d99791fd8e446790","navbar":{"links":[{"href":"https://suporte.bonifiq.com.br","label":"Suporte"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.bonifiq.com.br"}},"footer":{"socials":{"github":"https://github.com/bonifiq","linkedin":"https://linkedin.com/company/bonifiq"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"bonifiq","hasAudioNarration":false,"actualSubdomain":"bonifiq","customDomains":["developers.bonifiq.com.br"],"gitSource":{"type":"github","owner":"bonifiq","repo":"developers-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ada8972a27a20d4c0abff82","collectionId":"be6eff0e-8981-444d-a810-c438302eae57","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ada8972a27a20d4c0abff82"},"feedback":{"issues":false,"edits":false,"thumbs":true},"entitlements":{},"buildId":"6ada8972a27a20d4c0abff82","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"API Backend (Privada)","count":170},{"language":"default","tag":"Customer","count":25},{"language":"default","tag":"API Frontend (Pública)","count":22},{"language":"default","tag":"Reports","count":11},{"language":"default","tag":"API Widget","count":10},{"language":"default","tag":"POS","count":9},{"language":"default","tag":"Tiers","count":9},{"language":"default","tag":"Webhooks","count":8},{"language":"default","tag":"Tópicos","count":6},{"language":"default","tag":"Checkout","count":5}]},"assistantConfig":{},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api/private/reports/returns-the-latest-known-forecast-and-granted-purchase-points-for-each-order","slug":"/api/private/reports/returns-the-latest-known-forecast-and-granted-purchase-points-for-each-order","pageMetadata":{"title":"Returns the latest known forecast and granted purchase points for each order.","description":"## Data availability\n \nData comes from the latest completed daily snapshot, not a live calculation. Check HasPublishedSnapshot,\nSnapshotStartedAt and SnapshotCompletedAt to identify its availability and age. Without a published\nsnapshot, Items is empty and HasPublishedSnapshot is false. The report must be enabled for the tenant.\n \n## Date range\n \nBoth from and to filter OrderPlacementDate: the date and time the order was placed in the source platform.\nThey do not filter the point grant date, expected availability date, cancellation date or snapshot date.\nBoth boundaries are inclusive and converted to UTC before comparison. Times are preserved; the API does\nnot expand dates to the start or end of the day. Send ISO 8601 timestamps with Z or an explicit UTC offset.\nFor example, from=2026-09-01T00:00:00Z and to=2026-09-01T23:59:59.9999999Z cover September 1 in UTC.\nA to value of 2026-09-01T00:00:00Z includes only midnight at that boundary, not the rest of September 1.\nURL-encode a positive offset's plus sign as %2B.\n \n## Forecast and granted values\n \n- Pending items contain Forecast and no Grant.\n- Granted items contain Grant and preserve Forecast when the order appeared as pending in an earlier snapshot.\n- Historical grants may not have a Forecast.\n- Grant keeps the original persisted granted values; NetPoints, NetCashback and Reversal reflect later reversals.\n \nGrant.Points and Grant.Cashback are gross historical values. Grant.Base and Grant.Campaigns represent\nremaining net contributions after reversals, relative to NetPoints. Historical attribution may be incomplete;\non full reversal Grant.Campaigns is empty. Base is null when historical details cannot establish the base\ncontribution. A winning advanced scenario has zero Base and its Campaigns contain the full contribution\nof the winning rules. Cashback components are rounded independently and may not sum to the total.\n \n## Combining filters and pagination\n \nSupplied filters are combined with AND. Omitted optional filters do not restrict the result.\nCampaign and attribution filters match Forecast allocations for Pending orders and Granted allocations for\nGranted orders. Campaign and attribution criteria must match the same allocation.\nMatching orders retain all their allocations and totals. Nonempty campaignKeys take precedence over campaignIds.\nSummary and TotalItemCount cover all matching orders; Items contains only the requested page, ordered by\nOrderPlacementDate descending, then internal order ID descending.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Reports/ListPurchasePoints","href":"/api/private/reports/returns-the-latest-known-forecast-and-granted-purchase-points-for-each-order","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n h2: \"h2\",\n li: \"li\",\n p: \"p\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.h2, {\n children: \"Data availability\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Data comes from the latest completed daily snapshot, not a live calculation. Check HasPublishedSnapshot,\\nSnapshotStartedAt and SnapshotCompletedAt to identify its availability and age. Without a published\\nsnapshot, Items is empty and HasPublishedSnapshot is false. The report must be enabled for the tenant.\"\n }), \"\\n\", _jsx(_components.h2, {\n children: \"Date range\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Both from and to filter OrderPlacementDate: the date and time the order was placed in the source platform.\\nThey do not filter the point grant date, expected availability date, cancellation date or snapshot date.\\nBoth boundaries are inclusive and converted to UTC before comparison. Times are preserved; the API does\\nnot expand dates to the start or end of the day. Send ISO 8601 timestamps with Z or an explicit UTC offset.\\nFor example, from=2026-09-01T00:00:00Z and to=2026-09-01T23:59:59.9999999Z cover September 1 in UTC.\\nA to value of 2026-09-01T00:00:00Z includes only midnight at that boundary, not the rest of September 1.\\nURL-encode a positive offset’s plus sign as %2B.\"\n }), \"\\n\", _jsx(_components.h2, {\n children: \"Forecast and granted values\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"Pending items contain Forecast and no Grant.\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Granted items contain Grant and preserve Forecast when the order appeared as pending in an earlier snapshot.\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Historical grants may not have a Forecast.\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Grant keeps the original persisted granted values; NetPoints, NetCashback and Reversal reflect later reversals.\"\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Grant.Points and Grant.Cashback are gross historical values. Grant.Base and Grant.Campaigns represent\\nremaining net contributions after reversals, relative to NetPoints. Historical attribution may be incomplete;\\non full reversal Grant.Campaigns is empty. Base is null when historical details cannot establish the base\\ncontribution. A winning advanced scenario has zero Base and its Campaigns contain the full contribution\\nof the winning rules. Cashback components are rounded independently and may not sum to the total.\"\n }), \"\\n\", _jsx(_components.h2, {\n children: \"Combining filters and pagination\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Supplied filters are combined with AND. Omitted optional filters do not restrict the result.\\nCampaign and attribution filters match Forecast allocations for Pending orders and Granted allocations for\\nGranted orders. Campaign and attribution criteria must match the same allocation.\\nMatching orders retain all their allocations and totals. Nonempty campaignKeys take precedence over campaignIds.\\nSummary and TotalItemCount cover all matching orders; Items contains only the requested page, ordered by\\nOrderPlacementDate descending, then internal order ID descending.\"\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Returns the latest known forecast and granted purchase points for each order.","description":"## Data availability\n \nData comes from the latest completed daily snapshot, not a live calculation. Check HasPublishedSnapshot,\nSnapshotStartedAt and SnapshotCompletedAt to identify its availability and age. Without a published\nsnapshot, Items is empty and HasPublishedSnapshot is false. The report must be enabled for the tenant.\n \n## Date range\n \nBoth from and to filter OrderPlacementDate: the date and time the order was placed in the source platform.\nThey do not filter the point grant date, expected availability date, cancellation date or snapshot date.\nBoth boundaries are inclusive and converted to UTC before comparison. Times are preserved; the API does\nnot expand dates to the start or end of the day. Send ISO 8601 timestamps with Z or an explicit UTC offset.\nFor example, from=2026-09-01T00:00:00Z and to=2026-09-01T23:59:59.9999999Z cover September 1 in UTC.\nA to value of 2026-09-01T00:00:00Z includes only midnight at that boundary, not the rest of September 1.\nURL-encode a positive offset's plus sign as %2B.\n \n## Forecast and granted values\n \n- Pending items contain Forecast and no Grant.\n- Granted items contain Grant and preserve Forecast when the order appeared as pending in an earlier snapshot.\n- Historical grants may not have a Forecast.\n- Grant keeps the original persisted granted values; NetPoints, NetCashback and Reversal reflect later reversals.\n \nGrant.Points and Grant.Cashback are gross historical values. Grant.Base and Grant.Campaigns represent\nremaining net contributions after reversals, relative to NetPoints. Historical attribution may be incomplete;\non full reversal Grant.Campaigns is empty. Base is null when historical details cannot establish the base\ncontribution. A winning advanced scenario has zero Base and its Campaigns contain the full contribution\nof the winning rules. Cashback components are rounded independently and may not sum to the total.\n \n## Combining filters and pagination\n \nSupplied filters are combined with AND. Omitted optional filters do not restrict the result.\nCampaign and attribution filters match Forecast allocations for Pending orders and Granted allocations for\nGranted orders. Campaign and attribution criteria must match the same allocation.\nMatching orders retain all their allocations and totals. Nonempty campaignKeys take precedence over campaignIds.\nSummary and TotalItemCount cover all matching orders; Items contains only the requested page, ordered by\nOrderPlacementDate descending, then internal order ID descending.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Reports/ListPurchasePoints","href":"/api/private/reports/returns-the-latest-known-forecast-and-granted-purchase-points-for-each-order","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Reports"],"summary":"Returns the latest known forecast and granted purchase points for each order.","description":"## Data availability\n \nData comes from the latest completed daily snapshot, not a live calculation. Check HasPublishedSnapshot,\nSnapshotStartedAt and SnapshotCompletedAt to identify its availability and age. Without a published\nsnapshot, Items is empty and HasPublishedSnapshot is false. The report must be enabled for the tenant.\n \n## Date range\n \nBoth from and to filter OrderPlacementDate: the date and time the order was placed in the source platform.\nThey do not filter the point grant date, expected availability date, cancellation date or snapshot date.\nBoth boundaries are inclusive and converted to UTC before comparison. Times are preserved; the API does\nnot expand dates to the start or end of the day. Send ISO 8601 timestamps with Z or an explicit UTC offset.\nFor example, from=2026-09-01T00:00:00Z and to=2026-09-01T23:59:59.9999999Z cover September 1 in UTC.\nA to value of 2026-09-01T00:00:00Z includes only midnight at that boundary, not the rest of September 1.\nURL-encode a positive offset's plus sign as %2B.\n \n## Forecast and granted values\n \n- Pending items contain Forecast and no Grant.\n- Granted items contain Grant and preserve Forecast when the order appeared as pending in an earlier snapshot.\n- Historical grants may not have a Forecast.\n- Grant keeps the original persisted granted values; NetPoints, NetCashback and Reversal reflect later reversals.\n \nGrant.Points and Grant.Cashback are gross historical values. Grant.Base and Grant.Campaigns represent\nremaining net contributions after reversals, relative to NetPoints. Historical attribution may be incomplete;\non full reversal Grant.Campaigns is empty. Base is null when historical details cannot establish the base\ncontribution. A winning advanced scenario has zero Base and its Campaigns contain the full contribution\nof the winning rules. Cashback components are rounded independently and may not sum to the total.\n \n## Combining filters and pagination\n \nSupplied filters are combined with AND. Omitted optional filters do not restrict the result.\nCampaign and attribution filters match Forecast allocations for Pending orders and Granted allocations for\nGranted orders. Campaign and attribution criteria must match the same allocation.\nMatching orders retain all their allocations and totals. Nonempty campaignKeys take precedence over campaignIds.\nSummary and TotalItemCount cover all matching orders; Items contains only the requested page, ordered by\nOrderPlacementDate descending, then internal order ID descending.","operationId":"Reports_ListPurchasePoints","parameters":["d7418a74-11c0-494b-843b-1f23e41b8bcc","b9de798b-7f87-4fe6-ba34-49661961fceb","ab422527-b71a-4bfe-a844-f654abb54e96","9c2a669d-e184-45c3-90d4-c0b9172b4852","02ef6c6c-af6a-481d-a97c-83cebf13db96","b56d9732-d1e5-41af-ab7d-f0feef8a2f5d","6df676c4-25bc-4c9a-89f6-ab64721296fd","0b5cbcae-d71d-4a2f-80e6-0c4a0e022c71","f91572c3-c8d1-4a21-900a-823b01700a7c","f82b7e82-0824-48ec-ba5f-bfe1fafdfc18","2e2a147f-0a65-483f-b0bf-b8836a9f3777","e40f7023-f9f2-4016-8225-d5805dd26b2d"],"responses":{"200":"3ef9dcd0-2e84-49d6-b6e1-97c6f7455c84"},"security":["52936782-0df6-4385-9cdf-5e7cbdd6481f"],"method":"get","type":"path","servers":["467c46cb-f3b5-4d0f-b65a-4d2ba2ce57b0","3128d300-144b-4eea-8c34-3a4f0f0fc6ff"],"path":"/v1/pvt/Reports/ListPurchasePoints","baseUrlOptions":["https://api.bonifiq.com.br","https://backend--homolog.previewqa.bonifique.com.br"],"title":"Returns the latest known forecast and granted purchase points for each order.","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"d7418a74-11c0-494b-843b-1f23e41b8bcc":{"name":"from","in":"query","description":"Inclusive lower boundary of OrderPlacementDate (when the order was placed), in ISO 8601 format. If omitted, the minimum DateTimeOffset value is used, effectively including all earlier orders. Does not filter when points were granted.","schema":{"type":"string","format":"date-time","description":"Inclusive lower boundary of OrderPlacementDate (when the order was placed), in ISO 8601 format. If omitted, the minimum DateTimeOffset value is used, effectively including all earlier orders. Does not filter when points were granted.","uniqueKey":"","typeLabel":"string\u003cdate-time>"},"x-position":1},"b9de798b-7f87-4fe6-ba34-49661961fceb":{"name":"to","in":"query","description":"Inclusive upper boundary of OrderPlacementDate (when the order was placed), in ISO 8601 format. If omitted or default, the current UTC date and time is used. The supplied time is preserved; a date at midnight does not include the rest of that day.","schema":{"type":"string","format":"date-time","description":"Inclusive upper boundary of OrderPlacementDate (when the order was placed), in ISO 8601 format. If omitted or default, the current UTC date and time is used. The supplied time is preserved; a date at midnight does not include the rest of that day.","uniqueKey":"","typeLabel":"string\u003cdate-time>"},"x-position":2},"ab422527-b71a-4bfe-a844-f654abb54e96":{"name":"state","in":"query","description":"Optional points state: Granted (0) for granted points or Pending (1) for forecast points awaiting grant. This is not the order's fulfillment status. Omit to include both; use isCancelledOrReversed to filter cancellations or reversals separately.","schema":{"oneOf":[{"type":"integer","description":"Optional points state: Granted (0) for granted points or Pending (1) for forecast points awaiting grant. This is not the order's fulfillment status. Omit to include both; use isCancelledOrReversed to filter cancellations or reversals separately.\n0 = Granted\n1 = Pending","enum":[0,1],"x-enumNames":["Granted","Pending"],"uniqueKey":"oneOf.0","typeLabel":"enum\u003cinteger>"},{"type":"null","description":"Optional points state: Granted (0) for granted points or Pending (1) for forecast points awaiting grant. This is not the order's fulfillment status. Omit to include both; use isCancelledOrReversed to filter cancellations or reversals separately.","uniqueKey":"oneOf.1","typeLabel":"null"}],"uniqueKey":"","typeLabel":"enum\u003cinteger> | null"},"x-position":3},"9c2a669d-e184-45c3-90d4-c0b9172b4852":{"name":"isOrderReadyToGrant","in":"query","description":"Optional availability flag recorded in the snapshot. true selects orders whose grant availability date had arrived, or which had no availability date; false selects orders whose availability date was still in the future. This flag alone does not mean points were granted. Combine with state=Pending to select pending orders whose availability date is no longer in the future. Omit to include both.","schema":{"oneOf":[{"type":"boolean","description":"Optional availability flag recorded in the snapshot. true selects orders whose grant availability date had arrived, or which had no availability date; false selects orders whose availability date was still in the future. This flag alone does not mean points were granted. Combine with state=Pending to select pending orders whose availability date is no longer in the future. Omit to include both.","uniqueKey":"oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Optional availability flag recorded in the snapshot. true selects orders whose grant availability date had arrived, or which had no availability date; false selects orders whose availability date was still in the future. This flag alone does not mean points were granted. Combine with state=Pending to select pending orders whose availability date is no longer in the future. Omit to include both.","uniqueKey":"oneOf.1","typeLabel":"null"}],"uniqueKey":"","typeLabel":"boolean | null"},"x-position":4},"02ef6c6c-af6a-481d-a97c-83cebf13db96":{"name":"isCancelledOrReversed","in":"query","description":"Optional cancellation/reversal flag recorded in the snapshot. true includes only orders marked as cancelled or with reversed points; false excludes them. Omit to include both. Inspect Grant, NetPoints, NetCashback and Reversal for the granted and remaining values.","schema":{"oneOf":[{"type":"boolean","description":"Optional cancellation/reversal flag recorded in the snapshot. true includes only orders marked as cancelled or with reversed points; false excludes them. Omit to include both. Inspect Grant, NetPoints, NetCashback and Reversal for the granted and remaining values.","uniqueKey":"oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Optional cancellation/reversal flag recorded in the snapshot. true includes only orders marked as cancelled or with reversed points; false excludes them. Omit to include both. Inspect Grant, NetPoints, NetCashback and Reversal for the granted and remaining values.","uniqueKey":"oneOf.1","typeLabel":"null"}],"uniqueKey":"","typeLabel":"boolean | null"},"x-position":5},"b56d9732-d1e5-41af-ab7d-f0feef8a2f5d":{"name":"orderOriginalId","in":"query","description":"Optional exact match on the order ID from the source platform, not the internal BonifiQ order ID. Leading and trailing whitespace is ignored; an empty value does not filter.","schema":{"oneOf":[{"type":"string","description":"Optional exact match on the order ID from the source platform, not the internal BonifiQ order ID. Leading and trailing whitespace is ignored; an empty value does not filter.","uniqueKey":"oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional exact match on the order ID from the source platform, not the internal BonifiQ order ID. Leading and trailing whitespace is ignored; an empty value does not filter.","uniqueKey":"oneOf.1","typeLabel":"null"}],"uniqueKey":"","typeLabel":"string | null"},"x-position":6},"6df676c4-25bc-4c9a-89f6-ab64721296fd":{"name":"customerOriginalId","in":"query","description":"Optional exact match on the customer's original ID from the source platform, not the customer's BonifiQ public ID, email or document. Leading and trailing whitespace is ignored; an empty value does not filter.","schema":{"oneOf":[{"type":"string","description":"Optional exact match on the customer's original ID from the source platform, not the customer's BonifiQ public ID, email or document. Leading and trailing whitespace is ignored; an empty value does not filter.","uniqueKey":"oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional exact match on the customer's original ID from the source platform, not the customer's BonifiQ public ID, email or document. Leading and trailing whitespace is ignored; an empty value does not filter.","uniqueKey":"oneOf.1","typeLabel":"null"}],"uniqueKey":"","typeLabel":"string | null"},"x-position":7},"0b5cbcae-d71d-4a2f-80e6-0c4a0e022c71":{"name":"campaignIds","in":"query","style":"form","explode":true,"description":"Optional campaign IDs, matched across both Legacy purchase schedules and AdvancedRule sources. Ignored when nonempty campaignKeys is supplied. Repeat the query parameter for multiple IDs, for example campaignIds=123\u0026campaignIds=456. Selects orders with an allocation for at least one supplied campaign, not necessarily all of them. Omit to include orders regardless of campaign.","schema":{"oneOf":[{"type":"array","xml":{"name":"ArrayOfint","wrapped":true},"items":{"type":"integer","format":"int32","xml":{"name":"int"},"uniqueKey":"oneOf.0.items.[INDEX]","typeLabel":"integer\u003cint32>"},"description":"Optional campaign IDs, matched across both Legacy purchase schedules and AdvancedRule sources. Ignored when nonempty campaignKeys is supplied. Repeat the query parameter for multiple IDs, for example campaignIds=123\u0026campaignIds=456. Selects orders with an allocation for at least one supplied campaign, not necessarily all of them. Omit to include orders regardless of campaign.","uniqueKey":"oneOf.0","typeLabel":"integer\u003cint32>[]"},{"type":"null","xml":{"name":"ArrayOfint","wrapped":true},"items":{"type":"integer","format":"int32","xml":{"name":"int"}},"description":"Optional campaign IDs, matched across both Legacy purchase schedules and AdvancedRule sources. Ignored when nonempty campaignKeys is supplied. Repeat the query parameter for multiple IDs, for example campaignIds=123\u0026campaignIds=456. Selects orders with an allocation for at least one supplied campaign, not necessarily all of them. Omit to include orders regardless of campaign.","uniqueKey":"oneOf.1","typeLabel":"null"}],"uniqueKey":"","typeLabel":"integer\u003cint32>[] | null"},"x-position":8},"f91572c3-c8d1-4a21-900a-823b01700a7c":{"name":"attributionSource","in":"query","description":"Optional campaign allocation source: Exact (0) for attribution based on persisted per-campaign calculation details, or Inferred (1) for attribution reconstructed from available calculation data. Selects orders with at least one allocation of that source. Omit to include all sources and orders without campaign allocations.","schema":{"oneOf":[{"type":"integer","description":"Optional campaign allocation source: Exact (0) for attribution based on persisted per-campaign calculation details, or Inferred (1) for attribution reconstructed from available calculation data. Selects orders with at least one allocation of that source. Omit to include all sources and orders without campaign allocations.\n0 = Exact\n1 = Inferred","enum":[0,1],"x-enumNames":["Exact","Inferred"],"uniqueKey":"oneOf.0","typeLabel":"enum\u003cinteger>"},{"type":"null","description":"Optional campaign allocation source: Exact (0) for attribution based on persisted per-campaign calculation details, or Inferred (1) for attribution reconstructed from available calculation data. Selects orders with at least one allocation of that source. Omit to include all sources and orders without campaign allocations.","uniqueKey":"oneOf.1","typeLabel":"null"}],"uniqueKey":"","typeLabel":"enum\u003cinteger> | null"},"x-position":9},"f82b7e82-0824-48ec-ba5f-bfe1fafdfc18":{"name":"pageNumber","in":"query","description":"Page number, starting at 1. Default: 1. Values below 1 return HTTP 400.","schema":{"type":"integer","format":"int32","default":1,"description":"Page number, starting at 1. Default: 1. Values below 1 return HTTP 400.","uniqueKey":"","typeLabel":"integer\u003cint32>"},"x-position":10},"2e2a147f-0a65-483f-b0bf-b8836a9f3777":{"name":"pageSize","in":"query","description":"Requested number of orders per page. Default: 10; maximum: 10000. Values below 1 return HTTP 400. A configured tenant report page size overrides this request, subject to the same maximum. Check PageSize in the response for the effective size.","schema":{"type":"integer","format":"int32","default":10,"description":"Requested number of orders per page. Default: 10; maximum: 10000. Values below 1 return HTTP 400. A configured tenant report page size overrides this request, subject to the same maximum. Check PageSize in the response for the effective size.","uniqueKey":"","typeLabel":"integer\u003cint32>"},"x-position":11},"e40f7023-f9f2-4016-8225-d5805dd26b2d":{"name":"campaignKeys","in":"query","style":"form","explode":true,"description":"Optional campaign IDs qualified by source, taking precedence over campaignIds. Example: campaignKeys[0].CampaignId=5\u0026campaignKeys[0].CampaignSource=AdvancedRule. CampaignSource accepts Legacy (0) or AdvancedRule (1). Use consecutive indexes [1], [2], etc. for additional keys. An allocation matching any supplied key qualifies.","schema":{"oneOf":[{"type":"array","xml":{"name":"ArrayOfPurchasePointReportCampaignKey","wrapped":true},"items":{"type":"object","properties":{"CampaignId":{"type":"integer","format":"int32","uniqueKey":"oneOf.0.items.[INDEX].CampaignId","typeLabel":"integer\u003cint32>"},"CampaignSource":{"type":"integer","description":"0 = Legacy\n1 = AdvancedRule","x-enumNames":["Legacy","AdvancedRule"],"enum":[0,1],"uniqueKey":"oneOf.0.items.[INDEX].CampaignSource","typeLabel":"enum\u003cinteger>"}},"additionalProperties":false,"uniqueKey":"oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"Optional campaign IDs qualified by source, taking precedence over campaignIds. Example: campaignKeys[0].CampaignId=5\u0026campaignKeys[0].CampaignSource=AdvancedRule. CampaignSource accepts Legacy (0) or AdvancedRule (1). Use consecutive indexes [1], [2], etc. for additional keys. An allocation matching any supplied key qualifies.","uniqueKey":"oneOf.0","typeLabel":"object[]"},{"type":"null","xml":{"name":"ArrayOfPurchasePointReportCampaignKey","wrapped":true},"items":{"type":"object","properties":{"CampaignId":{"type":"integer","format":"int32"},"CampaignSource":{"type":"integer","description":"0 = Legacy\n1 = AdvancedRule","x-enumNames":["Legacy","AdvancedRule"],"enum":[0,1]}},"additionalProperties":false},"description":"Optional campaign IDs qualified by source, taking precedence over campaignIds. Example: campaignKeys[0].CampaignId=5\u0026campaignKeys[0].CampaignSource=AdvancedRule. CampaignSource accepts Legacy (0) or AdvancedRule (1). Use consecutive indexes [1], [2], etc. for additional keys. An allocation matching any supplied key qualifies.","uniqueKey":"oneOf.1","typeLabel":"null"}],"uniqueKey":"","typeLabel":"object[] | null"},"x-position":12}},"responses":{"3ef9dcd0-2e84-49d6-b6e1-97c6f7455c84":{"description":"Snapshot metadata, a summary of all matching orders, and the requested page of orders with forecast, grant, reversal and campaign allocation details.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"HasPublishedSnapshot":{"type":"boolean","uniqueKey":"HasPublishedSnapshot","typeLabel":"boolean"},"SnapshotStartedAt":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"SnapshotStartedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"SnapshotStartedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"SnapshotStartedAt","typeLabel":"string\u003cdate-time> | null"},"SnapshotCompletedAt":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"SnapshotCompletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"SnapshotCompletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"SnapshotCompletedAt","typeLabel":"string\u003cdate-time> | null"},"LatestRunStatus":{"oneOf":[{"type":"string","uniqueKey":"LatestRunStatus.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"LatestRunStatus.oneOf.1","typeLabel":"null"}],"uniqueKey":"LatestRunStatus","typeLabel":"string | null"},"StatusMessage":{"oneOf":[{"type":"string","uniqueKey":"StatusMessage.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"StatusMessage.oneOf.1","typeLabel":"null"}],"uniqueKey":"StatusMessage","typeLabel":"string | null"},"IsInitialLoadComplete":{"type":"boolean","uniqueKey":"IsInitialLoadComplete","typeLabel":"boolean"},"HasPendingWork":{"type":"boolean","uniqueKey":"HasPendingWork","typeLabel":"boolean"},"LastSuccessfulSyncAt":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"LastSuccessfulSyncAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"LastSuccessfulSyncAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"LastSuccessfulSyncAt","typeLabel":"string\u003cdate-time> | null"},"Summary":{"type":"object","additionalProperties":false,"properties":{"PendingPoints":{"type":"integer","format":"int32","uniqueKey":"Summary.PendingPoints","typeLabel":"integer\u003cint32>"},"PendingCashback":{"type":"number","format":"decimal","uniqueKey":"Summary.PendingCashback","typeLabel":"number\u003cdecimal>"},"PendingOrderCount":{"type":"integer","format":"int32","uniqueKey":"Summary.PendingOrderCount","typeLabel":"integer\u003cint32>"},"GrantedPoints":{"type":"integer","format":"int32","uniqueKey":"Summary.GrantedPoints","typeLabel":"integer\u003cint32>"},"GrantedCashback":{"type":"number","format":"decimal","uniqueKey":"Summary.GrantedCashback","typeLabel":"number\u003cdecimal>"},"GrantedOrderCount":{"type":"integer","format":"int32","uniqueKey":"Summary.GrantedOrderCount","typeLabel":"integer\u003cint32>"},"CancelledOrReversedPoints":{"type":"integer","format":"int32","uniqueKey":"Summary.CancelledOrReversedPoints","typeLabel":"integer\u003cint32>"},"CancelledOrReversedCashback":{"type":"number","format":"decimal","uniqueKey":"Summary.CancelledOrReversedCashback","typeLabel":"number\u003cdecimal>"},"CancelledOrReversedOrderCount":{"type":"integer","format":"int32","uniqueKey":"Summary.CancelledOrReversedOrderCount","typeLabel":"integer\u003cint32>"}},"uniqueKey":"Summary","typeLabel":"object"},"Items":{"type":"array","xml":{"wrapped":true},"items":{"type":"object","properties":{"State":{"type":"string","uniqueKey":"Items.items.[INDEX].State","typeLabel":"string"},"IsCancelledOrReversed":{"type":"boolean","uniqueKey":"Items.items.[INDEX].IsCancelledOrReversed","typeLabel":"boolean"},"OrderOriginalId":{"oneOf":[{"type":"string","uniqueKey":"Items.items.[INDEX].OrderOriginalId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"Items.items.[INDEX].OrderOriginalId.oneOf.1","typeLabel":"null"}],"uniqueKey":"Items.items.[INDEX].OrderOriginalId","typeLabel":"string | null"},"OrderState":{"type":"string","uniqueKey":"Items.items.[INDEX].OrderState","typeLabel":"string"},"OrderPlacementDate":{"type":"string","format":"date-time","uniqueKey":"Items.items.[INDEX].OrderPlacementDate","typeLabel":"string\u003cdate-time>"},"OrderCompletedDate":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"Items.items.[INDEX].OrderCompletedDate.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"Items.items.[INDEX].OrderCompletedDate.oneOf.1","typeLabel":"null"}],"uniqueKey":"Items.items.[INDEX].OrderCompletedDate","typeLabel":"string\u003cdate-time> | null"},"OrderCancelledDate":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"Items.items.[INDEX].OrderCancelledDate.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"Items.items.[INDEX].OrderCancelledDate.oneOf.1","typeLabel":"null"}],"uniqueKey":"Items.items.[INDEX].OrderCancelledDate","typeLabel":"string\u003cdate-time> | null"},"OrderTotal":{"type":"number","format":"decimal","uniqueKey":"Items.items.[INDEX].OrderTotal","typeLabel":"number\u003cdecimal>"},"Customer":{"type":"object","additionalProperties":false,"properties":{"OriginalId":{"oneOf":[{"type":"string","uniqueKey":"Items.items.[INDEX].Customer.OriginalId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"Items.items.[INDEX].Customer.OriginalId.oneOf.1","typeLabel":"null"}],"uniqueKey":"Items.items.[INDEX].Customer.OriginalId","typeLabel":"string | null"},"PublicId":{"oneOf":[{"type":"string","uniqueKey":"Items.items.[INDEX].Customer.PublicId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"Items.items.[INDEX].Customer.PublicId.oneOf.1","typeLabel":"null"}],"uniqueKey":"Items.items.[INDEX].Customer.PublicId","typeLabel":"string | null"},"Name":{"oneOf":[{"type":"string","uniqueKey":"Items.items.[INDEX].Customer.Name.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"Items.items.[INDEX].Customer.Name.oneOf.1","typeLabel":"null"}],"uniqueKey":"Items.items.[INDEX].Customer.Name","typeLabel":"string | null"},"Email":{"oneOf":[{"type":"string","uniqueKey":"Items.items.[INDEX].Customer.Email.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"Items.items.[INDEX].Customer.Email.oneOf.1","typeLabel":"null"}],"uniqueKey":"Items.items.[INDEX].Customer.Email","typeLabel":"string | null"},"Document":{"oneOf":[{"type":"string","uniqueKey":"Items.items.[INDEX].Customer.Document.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"Items.items.[INDEX].Customer.Document.oneOf.1","typeLabel":"null"}],"uniqueKey":"Items.items.[INDEX].Customer.Document","typeLabel":"string | null"},"Phone":{"oneOf":[{"type":"string","uniqueKey":"Items.items.[INDEX].Customer.Phone.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"Items.items.[INDEX].Customer.Phone.oneOf.1","typeLabel":"null"}],"uniqueKey":"Items.items.[INDEX].Customer.Phone","typeLabel":"string | null"}},"uniqueKey":"Items.items.[INDEX].Customer","typeLabel":"object"},"Forecast":{"oneOf":[{"type":"object","properties":{"Base":{"oneOf":[{"type":"object","properties":{"Points":{"type":"integer","format":"int32","uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.Base.oneOf.0.Points","typeLabel":"integer\u003cint32>"},"Cashback":{"type":"number","format":"decimal","uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.Base.oneOf.0.Cashback","typeLabel":"number\u003cdecimal>"}},"additionalProperties":false,"uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.Base.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.Base.oneOf.1","typeLabel":"null"}],"uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.Base","typeLabel":"object | null"},"CalculatedAt":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.CalculatedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.CalculatedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.CalculatedAt","typeLabel":"string\u003cdate-time> | null"},"AvailableAt":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.AvailableAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.AvailableAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.AvailableAt","typeLabel":"string\u003cdate-time> | null"},"IsReadyToGrant":{"type":"boolean","uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.IsReadyToGrant","typeLabel":"boolean"},"Points":{"type":"integer","format":"int32","uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.Points","typeLabel":"integer\u003cint32>"},"Cashback":{"type":"number","format":"decimal","uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.Cashback","typeLabel":"number\u003cdecimal>"},"Campaigns":{"type":"array","xml":{"wrapped":true},"items":{"type":"object","properties":{"CampaignSource":{"type":"string","uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.Campaigns.items.[INDEX].CampaignSource","typeLabel":"string"},"CampaignId":{"type":"integer","format":"int32","uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.Campaigns.items.[INDEX].CampaignId","typeLabel":"integer\u003cint32>"},"CampaignName":{"type":"string","uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.Campaigns.items.[INDEX].CampaignName","typeLabel":"string"},"CampaignType":{"oneOf":[{"type":"string","uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.Campaigns.items.[INDEX].CampaignType.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.Campaigns.items.[INDEX].CampaignType.oneOf.1","typeLabel":"null"}],"uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.Campaigns.items.[INDEX].CampaignType","typeLabel":"string | null"},"BonusPoints":{"type":"integer","format":"int32","uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.Campaigns.items.[INDEX].BonusPoints","typeLabel":"integer\u003cint32>"},"BonusCashback":{"type":"number","format":"decimal","uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.Campaigns.items.[INDEX].BonusCashback","typeLabel":"number\u003cdecimal>"},"AttributionSource":{"type":"string","uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.Campaigns.items.[INDEX].AttributionSource","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.Campaigns.items.[INDEX]","typeLabel":"object"},"uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0.Campaigns","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"Items.items.[INDEX].Forecast.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"Items.items.[INDEX].Forecast.oneOf.1","typeLabel":"null"}],"uniqueKey":"Items.items.[INDEX].Forecast","typeLabel":"object | null"},"Grant":{"oneOf":[{"type":"object","properties":{"Base":{"oneOf":[{"type":"object","properties":{"Points":{"type":"integer","format":"int32","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Base.oneOf.0.Points","typeLabel":"integer\u003cint32>"},"Cashback":{"type":"number","format":"decimal","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Base.oneOf.0.Cashback","typeLabel":"number\u003cdecimal>"}},"additionalProperties":false,"uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Base.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Base.oneOf.1","typeLabel":"null"}],"uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Base","typeLabel":"object | null"},"PointId":{"type":"integer","format":"int32","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.PointId","typeLabel":"integer\u003cint32>"},"GrantedAt":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.GrantedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.GrantedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.GrantedAt","typeLabel":"string\u003cdate-time> | null"},"Points":{"type":"integer","format":"int32","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Points","typeLabel":"integer\u003cint32>"},"Cashback":{"type":"number","format":"decimal","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Cashback","typeLabel":"number\u003cdecimal>"},"NetPoints":{"type":"integer","format":"int32","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.NetPoints","typeLabel":"integer\u003cint32>"},"NetCashback":{"type":"number","format":"decimal","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.NetCashback","typeLabel":"number\u003cdecimal>"},"IsCashbackEstimated":{"type":"boolean","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.IsCashbackEstimated","typeLabel":"boolean"},"Reversal":{"oneOf":[{"type":"object","properties":{"Points":{"type":"integer","format":"int32","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Reversal.oneOf.0.Points","typeLabel":"integer\u003cint32>"},"Cashback":{"type":"number","format":"decimal","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Reversal.oneOf.0.Cashback","typeLabel":"number\u003cdecimal>"},"IsFull":{"type":"boolean","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Reversal.oneOf.0.IsFull","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Reversal.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Reversal.oneOf.1","typeLabel":"null"}],"uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Reversal","typeLabel":"object | null"},"Campaigns":{"type":"array","xml":{"wrapped":true},"items":{"type":"object","properties":{"CampaignSource":{"type":"string","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Campaigns.items.[INDEX].CampaignSource","typeLabel":"string"},"CampaignId":{"type":"integer","format":"int32","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Campaigns.items.[INDEX].CampaignId","typeLabel":"integer\u003cint32>"},"CampaignName":{"type":"string","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Campaigns.items.[INDEX].CampaignName","typeLabel":"string"},"CampaignType":{"oneOf":[{"type":"string","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Campaigns.items.[INDEX].CampaignType.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Campaigns.items.[INDEX].CampaignType.oneOf.1","typeLabel":"null"}],"uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Campaigns.items.[INDEX].CampaignType","typeLabel":"string | null"},"BonusPoints":{"type":"integer","format":"int32","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Campaigns.items.[INDEX].BonusPoints","typeLabel":"integer\u003cint32>"},"BonusCashback":{"type":"number","format":"decimal","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Campaigns.items.[INDEX].BonusCashback","typeLabel":"number\u003cdecimal>"},"AttributionSource":{"type":"string","uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Campaigns.items.[INDEX].AttributionSource","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Campaigns.items.[INDEX]","typeLabel":"object"},"uniqueKey":"Items.items.[INDEX].Grant.oneOf.0.Campaigns","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"Items.items.[INDEX].Grant.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"Items.items.[INDEX].Grant.oneOf.1","typeLabel":"null"}],"uniqueKey":"Items.items.[INDEX].Grant","typeLabel":"object | null"}},"additionalProperties":false,"uniqueKey":"Items.items.[INDEX]","typeLabel":"object"},"uniqueKey":"Items","typeLabel":"object[]"},"TotalItemCount":{"type":"integer","format":"int32","uniqueKey":"TotalItemCount","typeLabel":"integer\u003cint32>"},"PageSize":{"type":"integer","format":"int32","uniqueKey":"PageSize","typeLabel":"integer\u003cint32>"},"PageNumber":{"type":"integer","format":"int32","uniqueKey":"PageNumber","typeLabel":"integer\u003cint32>"},"HasNextPage":{"type":"boolean","uniqueKey":"HasNextPage","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"HasPublishedSnapshot":true,"SnapshotStartedAt":"2023-11-07T05:31:56Z","SnapshotCompletedAt":"2023-11-07T05:31:56Z","LatestRunStatus":"\u003cstring>","StatusMessage":"\u003cstring>","IsInitialLoadComplete":true,"HasPendingWork":true,"LastSuccessfulSyncAt":"2023-11-07T05:31:56Z","Summary":{"PendingPoints":123,"PendingCashback":123,"PendingOrderCount":123,"GrantedPoints":123,"GrantedCashback":123,"GrantedOrderCount":123,"CancelledOrReversedPoints":123,"CancelledOrReversedCashback":123,"CancelledOrReversedOrderCount":123},"Items":[{"State":"\u003cstring>","IsCancelledOrReversed":true,"OrderOriginalId":"\u003cstring>","OrderState":"\u003cstring>","OrderPlacementDate":"2023-11-07T05:31:56Z","OrderCompletedDate":"2023-11-07T05:31:56Z","OrderCancelledDate":"2023-11-07T05:31:56Z","OrderTotal":123,"Customer":{"OriginalId":"\u003cstring>","PublicId":"\u003cstring>","Name":"\u003cstring>","Email":"\u003cstring>","Document":"\u003cstring>","Phone":"\u003cstring>"},"Forecast":{"Base":{"Points":123,"Cashback":123},"CalculatedAt":"2023-11-07T05:31:56Z","AvailableAt":"2023-11-07T05:31:56Z","IsReadyToGrant":true,"Points":123,"Cashback":123,"Campaigns":[{"CampaignSource":"\u003cstring>","CampaignId":123,"CampaignName":"\u003cstring>","CampaignType":"\u003cstring>","BonusPoints":123,"BonusCashback":123,"AttributionSource":"\u003cstring>"}]},"Grant":{"Base":{"Points":123,"Cashback":123},"PointId":123,"GrantedAt":"2023-11-07T05:31:56Z","Points":123,"Cashback":123,"NetPoints":123,"NetCashback":123,"IsCashbackEstimated":true,"Reversal":{"Points":123,"Cashback":123,"IsFull":true},"Campaigns":[{"CampaignSource":"\u003cstring>","CampaignId":123,"CampaignName":"\u003cstring>","CampaignType":"\u003cstring>","BonusPoints":123,"BonusCashback":123,"AttributionSource":"\u003cstring>"}]}}],"TotalItemCount":123,"PageSize":123,"PageNumber":123,"HasNextPage":true}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"52936782-0df6-4385-9cdf-5e7cbdd6481f":{"Basic Authentication":{"type":"http","description":"Use API Basic Auth Keys","scheme":"basic","scopes":[],"schemeName":"Basic Authentication"}}},"servers":{"467c46cb-f3b5-4d0f-b65a-4d2ba2ce57b0":{"url":"https://api.bonifiq.com.br","description":"Production"},"3128d300-144b-4eea-8c34-3a4f0f0fc6ff":{"url":"https://backend--homolog.previewqa.bonifique.com.br","description":"Sandbox"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","description":"Use API Basic Auth Keys","scheme":"basic","scopes":[],"schemeName":"Basic Authentication"},"schema":{"title":"Basic Auth","type":"object","description":"Use API Basic Auth Keys","isRequired":true,"properties":{"username":{"type":"string","uniqueKey":"username","isRequired":true,"typeLabel":"string","deprecated":false},"password":{"type":"string","uniqueKey":"password","isRequired":true,"typeLabel":"string","deprecated":false}},"additionalProperties":false,"deprecated":false},"schemeName":"Basic Authentication","name":"Authorization"}],"title":"Basic Authentication"}]},"originalFileLocation":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json"},"subdomain":"bonifiq","siteName":"BonifiQ Developers","title":"Returns the latest known forecast and granted purchase points for each order. - BonifiQ Developers","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-22T22:09:01.489Z","originalFileLocation":"api/private/reports/returns-the-latest-known-forecast-and-granted-purchase-points-for-each-order.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"## Data availability Data comes from the latest completed daily snapshot, not a live calculation. Check HasPublishedSnapshot, SnapshotStartedAt and SnapshotCompletedAt to identify its availability and age. Without a published snapshot, Items is empty and HasPublishedSnapshot is false. The report must be enabled for the tenant. ## Date range Both from and to filter OrderPlacementDate: the date and time the order was placed in the source platform. They do not filter the point grant date, expected availability date, cancellation date or snapshot date. Both boundaries are inclusive and converted to UTC before comparison. Times are preserved; the API does not expand dates to the start or end of the day. Send ISO 8601 timestamps with Z or an explicit UTC offset. For example, from=2026-09-01T00:00:00Z and to=2026-09-01T23:59:59.9999999Z cover September 1 in UTC. A to value of 2026-09-01T00:00:00Z includes only midnight at that boundary, not the rest of September 1. URL-encode a positive offset\u0026#x27;s plus sign as %2B. ## Forecast and granted values - Pending items contain Forecast and no Grant. - Granted items contain Grant and preserve Forecast when the order appeared as pending in an earlier snapshot. - Historical grants may not have a Forecast. - Grant keeps the original persisted granted values; NetPoints, NetCashback and Reversal reflect later reversals. Grant.Points and Grant.Cashback are gross historical values. Grant.Base and Grant.Campaigns represent remaining net contributions after reversals, relative to NetPoints. Historical attribution may be incomplete; on full reversal Grant.Campaigns is empty. Base is null when historical details cannot establish the base contribution. A winning advanced scenario has zero Base and its Campaigns contain the full contribution of the winning rules. Cashback components are rounded independently and may not sum to the total. ## Combining filters and pagination Supplied filters are combined with AND. Omitted optional filters do not restrict the result. Campaign and attribution filters match Forecast allocations for Pending orders and Granted allocations for Granted orders. Campaign and attribution criteria must match the same allocation. Matching orders retain all their allocations and totals. Nonempty campaignKeys take precedence over campaignIds. Summary and TotalItemCount cover all matching orders; Items contains only the requested page, ordered by OrderPlacementDate descending, then internal order ID descending.\">\u003cmeta data-mint-head name=\"application-name\" content=\"BonifiQ Developers\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/bonifiq/xvI3adUtu7NmJ0Yq/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/bonifiq/xvI3adUtu7NmJ0Yq/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/bonifiq/xvI3adUtu7NmJ0Yq/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/bonifiq/xvI3adUtu7NmJ0Yq/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/bonifiq/xvI3adUtu7NmJ0Yq/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/bonifiq/xvI3adUtu7NmJ0Yq/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/bonifiq/xvI3adUtu7NmJ0Yq/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/bonifiq/xvI3adUtu7NmJ0Yq/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/bonifiq/xvI3adUtu7NmJ0Yq/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Returns the latest known forecast and granted purchase points for each order. - BonifiQ Developers\">\u003cmeta data-mint-head property=\"og:description\" content=\"## Data availability Data comes from the latest completed daily snapshot, not a live calculation. Check HasPublishedSnapshot, SnapshotStartedAt and SnapshotCompletedAt to identify its availability and age. Without a published snapshot, Items is empty and HasPublishedSnapshot is false. The report must be enabled for the tenant. ## Date range Both from and to filter OrderPlacementDate: the date and time the order was placed in the source platform. They do not filter the point grant date, expected availability date, cancellation date or snapshot date. Both boundaries are inclusive and converted to UTC before comparison. Times are preserved; the API does not expand dates to the start or end of the day. Send ISO 8601 timestamps with Z or an explicit UTC offset. For example, from=2026-09-01T00:00:00Z and to=2026-09-01T23:59:59.9999999Z cover September 1 in UTC. A to value of 2026-09-01T00:00:00Z includes only midnight at that boundary, not the rest of September 1. URL-encode a positive offset\u0026#x27;s plus sign as %2B. ## Forecast and granted values - Pending items contain Forecast and no Grant. - Granted items contain Grant and preserve Forecast when the order appeared as pending in an earlier snapshot. - Historical grants may not have a Forecast. - Grant keeps the original persisted granted values; NetPoints, NetCashback and Reversal reflect later reversals. Grant.Points and Grant.Cashback are gross historical values. Grant.Base and Grant.Campaigns represent remaining net contributions after reversals, relative to NetPoints. Historical attribution may be incomplete; on full reversal Grant.Campaigns is empty. Base is null when historical details cannot establish the base contribution. A winning advanced scenario has zero Base and its Campaigns contain the full contribution of the winning rules. Cashback components are rounded independently and may not sum to the total. ## Combining filters and pagination Supplied filters are combined with AND. Omitted optional filters do not restrict the result. Campaign and attribution filters match Forecast allocations for Pending orders and Granted allocations for Granted orders. Campaign and attribution criteria must match the same allocation. Matching orders retain all their allocations and totals. Nonempty campaignKeys take precedence over campaignIds. Summary and TotalItemCount cover all matching orders; Items contains only the requested page, ordered by OrderPlacementDate descending, then internal order ID descending.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"BonifiQ Developers\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.bonifiq.com.br/api/private/reports/returns-the-latest-known-forecast-and-granted-purchase-points-for-each-order\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://bonifiq.mintlify.app/_mintlify/api/og/v2?division=Reports\u0026amp;title=Returns+the+latest+known+forecast+and+granted+purchase+points+for+each+order.\u0026amp;description=%23%23+Data+availability%0A++++++++++++%0AData+comes+from+the+latest+completed+daily+snapshot%2C+not+a+live+calculation.+Check+HasPublishedSnapshot%2C%0ASnapshotStartedAt+and\u0026amp;theme=05fe9e23d3a57822bc54615e\u0026amp;signature=3a9f0a461ba35083f7578ad8b31fe0149c4e296eca5e4d70b3ea64864568f29e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Returns the latest known forecast and granted purchase points for each order. - BonifiQ Developers\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"## Data availability Data comes from the latest completed daily snapshot, not a live calculation. Check HasPublishedSnapshot, SnapshotStartedAt and SnapshotCompletedAt to identify its availability and age. Without a published snapshot, Items is empty and HasPublishedSnapshot is false. The report must be enabled for the tenant. ## Date range Both from and to filter OrderPlacementDate: the date and time the order was placed in the source platform. They do not filter the point grant date, expected availability date, cancellation date or snapshot date. Both boundaries are inclusive and converted to UTC before comparison. Times are preserved; the API does not expand dates to the start or end of the day. Send ISO 8601 timestamps with Z or an explicit UTC offset. For example, from=2026-09-01T00:00:00Z and to=2026-09-01T23:59:59.9999999Z cover September 1 in UTC. A to value of 2026-09-01T00:00:00Z includes only midnight at that boundary, not the rest of September 1. URL-encode a positive offset\u0026#x27;s plus sign as %2B. ## Forecast and granted values - Pending items contain Forecast and no Grant. - Granted items contain Grant and preserve Forecast when the order appeared as pending in an earlier snapshot. - Historical grants may not have a Forecast. - Grant keeps the original persisted granted values; NetPoints, NetCashback and Reversal reflect later reversals. Grant.Points and Grant.Cashback are gross historical values. Grant.Base and Grant.Campaigns represent remaining net contributions after reversals, relative to NetPoints. Historical attribution may be incomplete; on full reversal Grant.Campaigns is empty. Base is null when historical details cannot establish the base contribution. A winning advanced scenario has zero Base and its Campaigns contain the full contribution of the winning rules. Cashback components are rounded independently and may not sum to the total. ## Combining filters and pagination Supplied filters are combined with AND. Omitted optional filters do not restrict the result. Campaign and attribution filters match Forecast allocations for Pending orders and Granted allocations for Granted orders. Campaign and attribution criteria must match the same allocation. Matching orders retain all their allocations and totals. Nonempty campaignKeys take precedence over campaignIds. Summary and TotalItemCount cover all matching orders; Items contains only the requested page, ordered by OrderPlacementDate descending, then internal order ID descending.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://bonifiq.mintlify.app/_mintlify/api/og/v2?division=Reports\u0026amp;title=Returns+the+latest+known+forecast+and+granted+purchase+points+for+each+order.\u0026amp;description=%23%23+Data+availability%0A++++++++++++%0AData+comes+from+the+latest+completed+daily+snapshot%2C+not+a+live+calculation.+Check+HasPublishedSnapshot%2C%0ASnapshotStartedAt+and\u0026amp;theme=05fe9e23d3a57822bc54615e\u0026amp;signature=3a9f0a461ba35083f7578ad8b31fe0149c4e296eca5e4d70b3ea64864568f29e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/bonifiq/xvI3adUtu7NmJ0Yq/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"BonifiQ Developers\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#8849f9\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.bonifiq.com.br/api/private/reports/returns-the-latest-known-forecast-and-granted-purchase-points-for-each-order\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api/private/reports/returns-the-latest-known-forecast-and-granted-purchase-points-for-each-order.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developers.bonifiq.com.br/#organization\",\"name\":\"BonifiQ Developers\",\"url\":\"https://developers.bonifiq.com.br\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/bonifiq/GKwMiRtr4XYxzOf1/logo/logobonifiq.svg?fit=max\u0026auto=format\u0026n=GKwMiRtr4XYxzOf1\u0026q=85\u0026s=37aa2bf1ee2234bd01c4e9a3c1000de8\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.bonifiq.com.br#website\",\"name\":\"BonifiQ Developers\",\"url\":\"https://developers.bonifiq.com.br\",\"publisher\":{\"@id\":\"https://developers.bonifiq.com.br/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.bonifiq.com.br/api/private/reports/returns-the-latest-known-forecast-and-granted-purchase-points-for-each-order#webpage\",\"url\":\"https://developers.bonifiq.com.br/api/private/reports/returns-the-latest-known-forecast-and-granted-purchase-points-for-each-order\",\"name\":\"Returns the latest known forecast and granted purchase points for each order.\",\"description\":\"## Data availability Data comes from the latest completed daily snapshot, not a live calculation. Check HasPublishedSnapshot, SnapshotStartedAt and SnapshotCompletedAt to identify its availability and age. Without a published snapshot, Items is empty and HasPublishedSnapshot is false. The report must be enabled for the tenant. ## Date range Both from and to filter OrderPlacementDate: the date and time the order was placed in the source platform. They do not filter the point grant date, expected availability date, cancellation date or snapshot date. Both boundaries are inclusive and converted to UTC before comparison. Times are preserved; the API does not expand dates to the start or end of the day. Send ISO 8601 timestamps with Z or an explicit UTC offset. For example, from=2026-09-01T00:00:00Z and to=2026-09-01T23:59:59.9999999Z cover September 1 in UTC. A to value of 2026-09-01T00:00:00Z includes only midnight at that boundary, not the rest of September 1. URL-encode a positive offset's plus sign as %2B. ## Forecast and granted values - Pending items contain Forecast and no Grant. - Granted items contain Grant and preserve Forecast when the order appeared as pending in an earlier snapshot. - Historical grants may not have a Forecast. - Grant keeps the original persisted granted values; NetPoints, NetCashback and Reversal reflect later reversals. Grant.Points and Grant.Cashback are gross historical values. Grant.Base and Grant.Campaigns represent remaining net contributions after reversals, relative to NetPoints. Historical attribution may be incomplete; on full reversal Grant.Campaigns is empty. Base is null when historical details cannot establish the base contribution. A winning advanced scenario has zero Base and its Campaigns contain the full contribution of the winning rules. Cashback components are rounded independently and may not sum to the total. ## Combining filters and pagination Supplied filters are combined with AND. Omitted optional filters do not restrict the result. Campaign and attribution filters match Forecast allocations for Pending orders and Granted allocations for Granted orders. Campaign and attribution criteria must match the same allocation. Matching orders retain all their allocations and totals. Nonempty campaignKeys take precedence over campaignIds. Summary and TotalItemCount cover all matching orders; Items contains only the requested page, ordered by OrderPlacementDate descending, then internal order ID descending.\",\"dateModified\":\"2026-10-22T22:09:01.489Z\",\"isPartOf\":{\"@id\":\"https://developers.bonifiq.com.br#website\"},\"breadcrumb\":{\"@id\":\"https://developers.bonifiq.com.br/api/private/reports/returns-the-latest-known-forecast-and-granted-purchase-points-for-each-order#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.bonifiq.com.br/api/private/reports/returns-the-latest-known-forecast-and-granted-purchase-points-for-each-order#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Backend (Privada)\",\"item\":\"https://developers.bonifiq.com.br/api-private/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Returns the latest known forecast and granted purchase points for each order.\",\"item\":\"https://developers.bonifiq.com.br/api/private/reports/returns-the-latest-known-forecast-and-granted-purchase-points-for-each-order\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developers.bonifiq.com.br/api/private/reports/returns-the-latest-known-forecast-and-granted-purchase-points-for-each-order#apireference\",\"headline\":\"Returns the latest known forecast and granted purchase points for each order.\",\"name\":\"Returns the latest known forecast and granted purchase points for each order.\",\"description\":\"## Data availability Data comes from the latest completed daily snapshot, not a live calculation. Check HasPublishedSnapshot, SnapshotStartedAt and SnapshotCompletedAt to identify its availability and age. Without a published snapshot, Items is empty and HasPublishedSnapshot is false. The report must be enabled for the tenant. ## Date range Both from and to filter OrderPlacementDate: the date and time the order was placed in the source platform. They do not filter the point grant date, expected availability date, cancellation date or snapshot date. Both boundaries are inclusive and converted to UTC before comparison. Times are preserved; the API does not expand dates to the start or end of the day. Send ISO 8601 timestamps with Z or an explicit UTC offset. For example, from=2026-09-01T00:00:00Z and to=2026-09-01T23:59:59.9999999Z cover September 1 in UTC. A to value of 2026-09-01T00:00:00Z includes only midnight at that boundary, not the rest of September 1. URL-encode a positive offset's plus sign as %2B. ## Forecast and granted values - Pending items contain Forecast and no Grant. - Granted items contain Grant and preserve Forecast when the order appeared as pending in an earlier snapshot. - Historical grants may not have a Forecast. - Grant keeps the original persisted granted values; NetPoints, NetCashback and Reversal reflect later reversals. Grant.Points and Grant.Cashback are gross historical values. Grant.Base and Grant.Campaigns represent remaining net contributions after reversals, relative to NetPoints. Historical attribution may be incomplete; on full reversal Grant.Campaigns is empty. Base is null when historical details cannot establish the base contribution. A winning advanced scenario has zero Base and its Campaigns contain the full contribution of the winning rules. Cashback components are rounded independently and may not sum to the total. ## Combining filters and pagination Supplied filters are combined with AND. Omitted optional filters do not restrict the result. Campaign and attribution filters match Forecast allocations for Pending orders and Granted allocations for Granted orders. Campaign and attribution criteria must match the same allocation. Matching orders retain all their allocations and totals. Nonempty campaignKeys take precedence over campaignIds. Summary and TotalItemCount cover all matching orders; Items contains only the requested page, ordered by OrderPlacementDate descending, then internal order ID descending.\",\"url\":\"https://developers.bonifiq.com.br/api/private/reports/returns-the-latest-known-forecast-and-granted-purchase-points-for-each-order\",\"mainEntityOfPage\":{\"@id\":\"https://developers.bonifiq.com.br/api/private/reports/returns-the-latest-known-forecast-and-granted-purchase-points-for-each-order#webpage\"},\"dateModified\":\"2026-10-22T22:09:01.489Z\",\"publisher\":{\"@id\":\"https://developers.bonifiq.com.br/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.bonifiq.com.br#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"BonifiQ Developers\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"BonifiQ Developers","nav":{"global":null,"tabs":[{"tab":"Bem-vindo!","pages":[{"title":"Bem-vindo!","href":""}]},{"tab":"API Backend (Privada)","groups":[{"group":"API Backend (Privada)","pages":[{"title":"APIs Privadas","href":"/api-private/introduction"},{"group":"Customer","pages":[{"title":"Retrieve the amount of points of a given customer","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Customer/{id}/points","href":"/api/private/customer/retrieve-the-amount-of-points-of-a-given-customer"},{"title":"Add or remove points from a customer","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Customer/{id}/points","href":"/api/private/customer/add-or-remove-points-from-a-customer"},{"title":"Retrieve the amount of points of a given customer using a body-based customer identifier.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Customer/points","href":"/api/private/customer/retrieve-the-amount-of-points-of-a-given-customer-using-a-body-based-customer-identifier"},{"title":"Retrieve pending purchase points and cashback for a given customer.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Customer/{id}/pendingpoints","href":"/api/private/customer/retrieve-pending-purchase-points-and-cashback-for-a-given-customer"},{"title":"Creates a new customer","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Customer","href":"/api/private/customer/creates-a-new-customer"},{"title":"Get a customer information from its ID","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Customer/{id}","href":"/api/private/customer/get-a-customer-information-from-its-id"},{"title":"Update a customer based on the Id from the client store","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json put /v1/pvt/Customer/{id}","href":"/api/private/customer/update-a-customer-based-on-the-id-from-the-client-store"},{"title":"Creates or updates a customer using the OriginalId provided in the request body.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Customer/upsert","href":"/api/private/customer/creates-or-updates-a-customer-using-the-originalid-provided-in-the-request-body"},{"title":"Allows a customer to refer (recommend) the store to a friend by using the Referral Objective","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Customer/{id}/referfriend/{email}","href":"/api/private/customer/allows-a-customer-to-refer-recommend-the-store-to-a-friend-by-using-the-referral-objective"},{"title":"Add or remove cashback from a customer","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Customer/{id}/cashback","href":"/api/private/customer/add-or-remove-cashback-from-a-customer"},{"title":"Redeem points for a cashback value","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Customer/{id}/redeemcashback","href":"/api/private/customer/redeem-points-for-a-cashback-value"},{"title":"Returns the customer's paginated points and tier history","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Customer/{id}/history","href":"/api/private/customer/returns-the-customers-paginated-points-and-tier-history"},{"title":"Get the progress toward the next tier for a customer.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Customer/{id}/tier/next","href":"/api/private/customer/get-the-progress-toward-the-next-tier-for-a-customer"},{"title":"Returns the advanced rules currently available to a customer because of the customer segments they belong to.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Customer/{id}/segmentrules","href":"/api/private/customer/returns-the-advanced-rules-currently-available-to-a-customer-because-of-the-customer-segments-they-belong-to"},{"title":"Checks whether a customer exists and returns only its basic identification data.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Customer/{id}/exists","href":"/api/private/customer/checks-whether-a-customer-exists-and-returns-only-its-basic-identification-data"},{"title":"Set the birthday date of the given customer","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Customer/{id}/setbirthday","href":"/api/private/customer/set-the-birthday-date-of-the-given-customer"},{"title":"Returns a list of unused coupons that the customer have redeemed in the past","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Customer/{id}/availablecoupons","href":"/api/private/customer/returns-a-list-of-unused-coupons-that-the-customer-have-redeemed-in-the-past"},{"title":"Returns a list of unused coupons that the customer have redeemed in the past using a body-based customer identifier.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Customer/availablecoupons","href":"/api/private/customer/returns-a-list-of-unused-coupons-that-the-customer-have-redeemed-in-the-past-using-a-body-based-customer-identifier"},{"title":"Filter a list of customers based on the filter parameters. The return can be paginated.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Customer/list","href":"/api/private/customer/filter-a-list-of-customers-based-on-the-filter-parameters-the-return-can-be-paginated"},{"title":"Change the tier of a customer in BonifiQ","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Customer/{originalId}/changetier","href":"/api/private/customer/change-the-tier-of-a-customer-in-bonifiq"},{"title":"Remove the current tier from a customer","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json delete /v1/pvt/Customer/{originalId}/removetier","href":"/api/private/customer/remove-the-current-tier-from-a-customer"},{"title":"Change the Status of the customer in BonifiQ","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Customer/{originalId}/changestatus","href":"/api/private/customer/change-the-status-of-the-customer-in-bonifiq"}]},{"group":"Order","pages":[{"title":"Add an order or purchase","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Order","href":"/api/private/order/add-an-order-or-purchase"},{"title":"request for cancelling a purchase order","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Order/{orderId}/cancel","href":"/api/private/order/request-for-cancelling-a-purchase-order"},{"title":"request for setting a purchase order completed.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Order/{orderId}/complete","href":"/api/private/order/request-for-setting-a-purchase-order-completed"},{"title":"Get v1pvtorder","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Order/{orderId}","href":"/api/private/order/get-v1pvtorder"},{"title":"Partially cancel an order","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Order/{orderId}/partialcancel","href":"/api/private/order/partially-cancel-an-order"}]},{"group":"POS","pages":[{"title":"Returns a list of available rewards for a given customer and purchase.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/POS/rewards/available","href":"/api/private/pos/returns-a-list-of-available-rewards-for-a-given-customer-and-purchase"},{"title":"This method can be used to redeem a reward in behalf of a customer.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/POS/rewards/{id}/redeem","href":"/api/private/pos/this-method-can-be-used-to-redeem-a-reward-in-behalf-of-a-customer"},{"title":"Cancel an existing reward using the OriginalKey","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json delete /v1/pvt/POS/rewards","href":"/api/private/pos/cancel-an-existing-reward-using-the-originalkey"},{"title":"Cancel an existing reward. By canceling the customer will have their points back. The reward will be in the canceled state.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json delete /v1/pvt/POS/rewards/{id}","href":"/api/private/pos/cancel-an-existing-reward-by-canceling-the-customer-will-have-their-points-back-the-reward-will-be-in-the-canceled-state"},{"title":"This is shortcut for the original /orders endpoint to add orders into BonifiQ","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/POS/orders","href":"/api/private/pos/this-is-shortcut-for-the-original-orders-endpoint-to-add-orders-into-bonifiq"},{"title":"This is shortcut for the original /orders/cancel endpoint for canceling orders.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/POS/orders/{orderId}/cancel","href":"/api/private/pos/this-is-shortcut-for-the-original-orderscancel-endpoint-for-canceling-orders"},{"title":"Partially cancel an order","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/POS/{orderId}/partialcancel","href":"/api/private/pos/partially-cancel-an-order"},{"title":"Creates a challenge (OTP) to confirm that the customer is the owner of the points","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/POS/customers/{id}/challenge","href":"/api/private/pos/creates-a-challenge-otp-to-confirm-that-the-customer-is-the-owner-of-the-points"},{"title":"After sending the challenge request the app must ask the user for the PIN Code.","description":"The PIN Code could be received by the customer in SMS or e-mail.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/POS/customers/{id}/challengevalidate","href":"/api/private/pos/after-sending-the-challenge-request-the-app-must-ask-the-user-for-the-pin-code"}]},{"group":"Reports","pages":[{"title":"Returns the latest known forecast and granted purchase points for each order.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Reports/ListPurchasePoints","href":"/api/private/reports/returns-the-latest-known-forecast-and-granted-purchase-points-for-each-order"},{"title":"Returns a list of points that will expire soon and can be sent a notification to the customer warning about the expiration.\nThe date range is based on the days before expiration configured in the BonifiQ Admin Panel","description":null,"deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Reports/ListExpirePointsNotification","href":"/api/private/reports/returns-a-list-of-points-that-will-expire-soon-and-can-be-sent-a-notification-to-the-customer-warning-about-the-expirationthe-date-range-is-based-on-the-days-before-expiration-configured-in-the-bonifiq-admin-panel"},{"title":"Get v1pvtreportslistpointsavailablenotification","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Reports/ListPointsAvailableNotification","href":"/api/private/reports/get-v1pvtreportslistpointsavailablenotification"},{"title":"Returns earned points that can be used to track received-point events and customer notification flows.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Reports/ListReceivedPoints","href":"/api/private/reports/returns-earned-points-that-can-be-used-to-track-received-point-events-and-customer-notification-flows"},{"title":"Returns a list of sales (orders that used an BonifiQ reward) filtered by date.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Reports/ListSalesReport","href":"/api/private/reports/returns-a-list-of-sales-orders-that-used-an-bonifiq-reward-filtered-by-date"},{"title":"Returns a list of orders filtered by date.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Reports/ListOrdersReport","href":"/api/private/reports/returns-a-list-of-orders-filtered-by-date"},{"title":"Returns the general points ledger report filtered by point event date.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Reports/ListPointsReport","href":"/api/private/reports/returns-the-general-points-ledger-report-filtered-by-point-event-date"},{"title":"Returns a list of cashback transactions filtered by redeem date.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Reports/ListCashbackReport","href":"/api/private/reports/returns-a-list-of-cashback-transactions-filtered-by-redeem-date"},{"title":"Returns a list of canceled cashback redemptions filtered by cancellation date.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Reports/ListCanceledCashbackReport","href":"/api/private/reports/returns-a-list-of-canceled-cashback-redemptions-filtered-by-cancellation-date"},{"title":"Returns a list of generated coupons filtered by creation date.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Reports/ListGeneratedCouponList","href":"/api/private/reports/returns-a-list-of-generated-coupons-filtered-by-creation-date"},{"title":"Returns a list of customers with their points balance, points to expire and point history.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Reports/ListCustomersReport","href":"/api/private/reports/returns-a-list-of-customers-with-their-points-balance-points-to-expire-and-point-history"}]},{"group":"Tiers","pages":[{"title":"Get v1pvttiers","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Tiers","href":"/api/private/tiers/get-v1pvttiers"},{"title":"Post v1pvttiersavailable","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Tiers/available","href":"/api/private/tiers/post-v1pvttiersavailable"},{"title":"Get v1pvttiers 1","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Tiers/{tierId}","href":"/api/private/tiers/get-v1pvttiers-1"},{"title":"Get v1pvttiers targets","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Tiers/{tierId}/targets","href":"/api/private/tiers/get-v1pvttiers-targets"},{"title":"Get v1pvttiers benefits","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Tiers/{tierId}/benefits","href":"/api/private/tiers/get-v1pvttiers-benefits"}]},{"group":"Affiliate","pages":[{"title":"To create and update an affiliate, it's possible to create a customer for the same.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Affiliate","href":"/api/private/affiliate/to-create-and-update-an-affiliate-its-possible-to-create-a-customer-for-the-same"},{"title":"Disables an affiliate by email or document.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json delete /v1/pvt/Affiliate/disable/{originalId}","href":"/api/private/affiliate/disables-an-affiliate-by-email-or-document"},{"title":"Reactivates an affiliate by originalId.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Affiliate/reactivate/{originalId}","href":"/api/private/affiliate/reactivates-an-affiliate-by-originalid"}]},{"group":"Checkout","pages":[{"title":"Redeems cashback for a checkout","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Checkout/redeem","href":"/api/private/checkout/redeems-cashback-for-a-checkout"},{"title":"Simulates purchase points for the current checkout/cart state.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Checkout/simulate","href":"/api/private/checkout/simulates-purchase-points-for-the-current-checkoutcart-state"},{"title":"Revalidates a previously redeemed checkout cashback against the current cart state.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Checkout/refresh","href":"/api/private/checkout/revalidates-a-previously-redeemed-checkout-cashback-against-the-current-cart-state"},{"title":"Removes an already applied cashback from a checkout.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Checkout/redeem/remove","href":"/api/private/checkout/removes-an-already-applied-cashback-from-a-checkout"},{"title":"Returns a list of available rewards for a given customer and purchase.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Checkout/rewards/available","href":"/api/private/checkout/returns-a-list-of-available-rewards-for-a-given-customer-and-purchase"}]},{"group":"Coupons","pages":[{"title":"Returns if found a coupon based on the given coupon code.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Coupons/{code}","href":"/api/private/coupons/returns-if-found-a-coupon-based-on-the-given-coupon-code"},{"title":"Creates a coupon for the given customer.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Coupons","href":"/api/private/coupons/creates-a-coupon-for-the-given-customer"},{"title":"Inactives the given coupon on the bonifiq system.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Coupons/{code}/inactive","href":"/api/private/coupons/inactives-the-given-coupon-on-the-bonifiq-system"},{"title":"Retrieves the promotion rules and details associated with a specific coupon code.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Coupons/{couponCode}/rules","href":"/api/private/coupons/retrieves-the-promotion-rules-and-details-associated-with-a-specific-coupon-code"}]},{"group":"Customization","pages":[{"title":"Returns the customizations as configured in the BonifiQ admin panel","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Customization","href":"/api/private/customization/returns-the-customizations-as-configured-in-the-bonifiq-admin-panel"}]},{"group":"Objectives","pages":[{"title":"Returns all active objectives for the client.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Objectives/active","href":"/api/private/objectives/returns-all-active-objectives-for-the-client"},{"title":"Returns all objectives for the client, including active and inactive objectives.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Objectives/all","href":"/api/private/objectives/returns-all-objectives-for-the-client-including-active-and-inactive-objectives"},{"title":"Returns a specific active objective by type.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Objectives/{type}","href":"/api/private/objectives/returns-a-specific-active-objective-by-type"},{"title":"Import a customer to be rewarded by a custom objective","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Objectives/{id}/importpoints","href":"/api/private/objectives/import-a-customer-to-be-rewarded-by-a-custom-objective"}]},{"group":"Points","pages":[{"title":"Lists points set to expire within the specified date range (paginated).","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Points/toexpire","href":"/api/private/points/lists-points-set-to-expire-within-the-specified-date-range-paginated"},{"title":"Retrieves a paginated list of customer points generated on or after a specified date.\nThis endpoint allows for filtering points by a start date and supports pagination.\nEach item in the list includes detailed point information along with associated customer data.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Points/list","href":"/api/private/points/retrieves-a-paginated-list-of-customer-points-generated-on-or-after-a-specified-datethis-endpoint-allows-for-filtering-points-by-a-start-date-and-supports-paginationeach-item-in-the-list-includes-detailed-point-information-along-with-associated-customer-data"}]},{"group":"Product","pages":[{"title":"creates a new product register.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Product","href":"/api/private/product/creates-a-new-product-register"},{"title":"Updates a given product based on a given Id from the client store.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json put /v1/pvt/Product/{id}","href":"/api/private/product/updates-a-given-product-based-on-a-given-id-from-the-client-store"},{"title":"Estimates points, cashback earned and cashback usage limits per product.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Product/points","href":"/api/private/product/estimates-points-cashback-earned-and-cashback-usage-limits-per-product"}]},{"group":"Quiz","pages":[{"title":"Retrieves a list of available quizzes.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Quiz/list","href":"/api/private/quiz/retrieves-a-list-of-available-quizzes"},{"title":"Submits answers for a specific quiz by a customer.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Quiz/answer","href":"/api/private/quiz/submits-answers-for-a-specific-quiz-by-a-customer"}]},{"group":"RewardConfigurations","pages":[{"title":"Returns a list of available rewards for a given customer and purchase.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/RewardConfigurations/rewards/available","href":"/api/private/rewardconfigurations/returns-a-list-of-available-rewards-for-a-given-customer-and-purchase"},{"title":"Returns all rewards configuration - either available or not","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/RewardConfigurations","href":"/api/private/rewardconfigurations/returns-all-rewards-configuration--either-available-or-not"},{"title":"on a Given ID, returns the Rewards configuration if found.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/RewardConfigurations/{id}","href":"/api/private/rewardconfigurations/on-a-given-id-returns-the-rewards-configuration-if-found"},{"title":"Redeem a reward for the customer given on the request body","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/RewardConfigurations/{id}/redeem","href":"/api/private/rewardconfigurations/redeem-a-reward-for-the-customer-given-on-the-request-body"}]},{"group":"Rewards","pages":[{"title":"Return an existant reward already redeemed","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Rewards/{id}","href":"/api/private/rewards/return-an-existant-reward-already-redeemed"},{"title":"Cancel an existing reward. By canceling the customer will have their points back. The reward will be in the canceled state.","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json delete /v1/pvt/Rewards/{id}","href":"/api/private/rewards/cancel-an-existing-reward-by-canceling-the-customer-will-have-their-points-back-the-reward-will-be-in-the-canceled-state"},{"title":"Post v1pvtrewardsupdatemetadata","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json post /v1/pvt/Rewards/updatemetadata","href":"/api/private/rewards/post-v1pvtrewardsupdatemetadata"}]},{"group":"Terms","pages":[{"title":"Returns the terms for the program points. Terms can be changed in the BonifiQ admin panel.\nTerms can contains HTML tags that must be rendered to the user when showing it","deprecated":null,"version":null,"openapi":"https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json get /v1/pvt/Terms","href":"/api/private/terms/returns-the-terms-for-the-program-points-terms-can-be-changed-in-the-bonifiq-admin-panelterms-can-contains-html-tags-that-must-be-rendered-to-the-user-when-showing-it"}]}]}]},{"tab":"API Frontend (Pública)","pages":[{"title":"API Frontend (Pública)","href":"/api-public/introduction"}]},{"tab":"API Widget","pages":[{"title":"API Widget","href":"/api-widget/00-introduction"}]},{"tab":"Webhooks","pages":[{"title":"Webhooks","href":"/webhooks/01-introducao"}]},{"tab":"Guias","pages":[{"title":"Guias","href":"/guias"}]}]},"title":"Returns the latest known forecast and granted purchase points for each order. - BonifiQ Developers","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DKJwRUt2.js","utils-CWD_VS3u.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-oFjciODD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C76WsxC3.js","snippetPresets-DvPMxpX_.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CuNQfndH.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BVFpVUoF.js","shallow-t59Jg5Kr.js","getApiPlaygroundDisplay-C_JZ4amX.js","CodeSnippet-CLRDnx_h.js","CodeSnippets-C2myU4kc.js","Page-7TwLLapg.js","getPastedJson-B-JaVXw7.js","icon-BA-iDhH3.js","MethodPill-D4qZABFp.js","DuplicateIcon-THIDKO1O.js","createIcon-CYYJwgFd.js","DynamicMarkdown-UGQuxDKp.js","SectionHeading-jYELb23h.js","axios-vUo_bRtp.js","Markdown-DKsLa3wy.js","clsx-CefdjKz2.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BaREnp3o.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-sgx_0XzF.js"]}