---
title: "PrestaShop sales"
method: POST
path: "/api/v1/data/prestashop_sales_report"
---

# PrestaShop sales

`POST /api/v1/data/prestashop_sales_report`

## Request

- Base URL: `https://app.attache.studio`
- URL: `https://app.attache.studio/api/v1/data/prestashop_sales_report`
- Auth: HTTP bearer

The shop's own sales over a period: valid orders, revenue (tax incl. and excl.), average order value, shipping, discounts, unique customers — totals plus a breakdown by day, week, month, order status or payment method, per currency. The shop's numbers are the reference against GA4 or ad-platform revenue.

## Request body

- object
  - `shop_url` string, required: Shop URL exactly as in list_sources (prestashop resource), e.g. https://www.example.com
  - `start_date` string, required: YYYY-MM-DD
  - `end_date` string, required: YYYY-MM-DD, inclusive
  - `group_by` 'day' | 'week' | 'month' | 'status' | 'payment' | 'none': Default: day
  - `include_invalid` boolean: Also count unpaid, cancelled and refunded orders. Default false.

## Response `200`

Raw result of the underlying Google / Meta API, as JSON.

## Other responses

- `400`: { "error": string } — bad parameters or resource not shared.
- `401`: Missing, unknown or revoked key.
- `403`: Called from a browser — call from your backend.
- `429`: Rate limit: 60 requests per minute per key.

---

[API](https://skmtc.dev/attache/apis/attache-data-api.md) · [All operations](https://skmtc.dev/attache/apis/attache-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/attache/apis/attache-data-api/revisions/83d5d32a3fea?raw)
