> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nemu.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Sale

> Cria uma nova venda/pedido.

Use this endpoint to send sale information to Nemu.

The `customerEmail` field accepts the plain email or a hashed value of the email (e.g. SHA-256).

The `isFromApp` field should be used to indicate whether the sale was made in the app (`true`) or not (`false`).

#### Example (single product):

```json theme={null}
{
  "name": "Product name",
  "transactionId": "123",
  "isFromApp": false,
  "netValue": 10,
  "grossValue": 30,
  "status": "paid",
  "quantity": 1,
  "paymentType": "pix",
  "utm_campaign": "string",
  "utm_content": "string",
  "utm_medium": "string",
  "utm_source": "string",
  "utm_term": "string",
  "customerEmail": "customeremail@gmail.com",
  "date": "2024-06-25",
  "orderCreatedAt": "2024-06-25 00:00:00",
  "priceCost": 5
}
```

#### Example (multiple products):

```json theme={null}
{
  "name": "Order name",
  "transactionId": "123",
  "isFromApp": false,
  "netValue": 20,
  "grossValue": 40,
  "status": "paid",
  "quantity": 1,
  "paymentType": "pix",
  "utm_campaign": "string",
  "utm_content": "string",
  "utm_medium": "string",
  "utm_source": "string",
  "utm_term": "string",
  "customerEmail": "customeremail@gmail.com",
  "date": "2024-06-25",
  "createdAt": "2024-06-25 00:00:00",
  "products": [
    {
      "productId": "1",
      "name": "Product name 1",
      "quantity": 1,
      "netValue": 10,
      "grossValue": 20,
      "priceCost": 5,
      "category": {
        "id": "15",
        "name": "category 1"
      }
    },
    {
      "productId": "2",
      "name": "Product name 2",
      "quantity": 1,
      "netValue": 10,
      "grossValue": 20,
      "priceCost": 5
    }
  ]
}
```


## OpenAPI

````yaml POST /sales
openapi: 3.1.0
info:
  title: API Nemu
  description: API para integração de eventos de vendas com a plataforma Nemu.
  version: 1.0.0
servers:
  - url: https://developers.nemu.com.br/api/v1
security:
  - TokenAuth: []
paths:
  /sales:
    post:
      description: Cria uma nova venda/pedido.
      requestBody:
        description: Dados da venda ou pedido.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Sale'
        required: true
      responses:
        '200':
          description: Venda criada com sucesso.
        '400':
          description: Erro na requisição.
      security:
        - TokenAuth: []
components:
  schemas:
    Sale:
      type: object
      required:
        - name
        - transactionId
        - isFromApp
        - netValue
        - grossValue
        - status
        - quantity
        - paymentType
        - customerEmail
        - date
        - orderCreatedAt
        - products
      properties:
        name:
          type: string
          description: Nome do produto ou pedido
        transactionId:
          type: string
          description: ID da transação ou pedido
        isFromApp:
          type: boolean
          description: Indica se a venda foi originada pelo aplicativo
        netValue:
          type: number
          description: Valor líquido da transação ou pedido
        grossValue:
          type: number
          description: Valor bruto da transação ou pedido
        status:
          type: string
          description: >-
            Status da transação ou pedido (paid, waiting_payment, cancelled,
            chargeback, refunded, checkout_completed)
        quantity:
          type: number
          description: Quantidade vendida
        paymentType:
          type: string
          description: Método de pagamento (pix, billet, credit_card, other)
        utm_source:
          type: string
          description: utm_source parameter
        utm_campaign:
          type: string
          description: utm_campaign parameter
        utm_medium:
          type: string
          description: utm_medium parameter
        utm_content:
          type: string
          description: utm_content parameter
        utm_term:
          type: string
          description: utm_term parameter
        customerEmail:
          type: string
          description: >-
            Email do comprador. Também aceita um valor em hash do email (ex:
            SHA-256)
        date:
          type: string
          format: date
          description: Data de criação do pedido (YYYY-MM-DD)
        orderCreatedAt:
          type: string
          format: date-time
          description: Order creation date and time in UTC 0 (YYYY-MM-DD HH:MM:SS)
        products:
          type: array
          description: Lista de produtos do pedido
          items:
            $ref: '#/components/schemas/Product'
        priceCost:
          type: number
          description: Preço de custo do produto/pedido
    Product:
      type: object
      required:
        - productId
        - name
        - quantity
        - netValue
        - grossValue
      properties:
        productId:
          type: string
          description: ID do produto
        name:
          type: string
          description: Nome do produto
        quantity:
          type: number
          description: Quantidade vendida do produto
        netValue:
          type: number
          description: Valor líquido do produto
        grossValue:
          type: number
          description: Valor bruto do produto
        priceCost:
          type: number
          description: Preço de custo do produto
        category:
          type: object
          description: Categoria do produto (opcional)
          required:
            - name
          properties:
            id:
              type: string
              description: ID da categoria
            name:
              type: string
              description: Nome da categoria
            imageUrl:
              type: string
              format: uri
              description: URL da imagem da categoria
  securitySchemes:
    TokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Token de API gerado no dashboard. Envie no header Authorization sem
        'Bearer'. Exemplo: Authorization: 123456abcdef

````