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

# Retorna os dados dos orçamentos ou dos pedidos

> Retorna uma lista dos orçamentos/pedidos cadastrados na plataforma ordenados pela data de criação, sendo o primeiro registro o orçamento/pedido criado mais recentemente. Para a pesquisa retornar exclusivamente os novos registros de orçamentos/pedidos, ou seja, todos os orçamentos/pedidos que foram criados ou que tiveram algum de seus dados alterados desde a última requisição, deve-se realizar a pesquisa sem a utilização de parâmetros de pesquisa.

<Note>
  **🚀 API v2 (Recomendada)** - Use este endpoint para novos projetos
</Note>


## OpenAPI

````yaml /openapi/openapi-v2.json GET /requests/{requestType}/{pageNumber}/{pageLimit}
openapi: 3.0.0
info:
  title: Documentação de API
  version: '2.0'
servers:
  - url: https://backend-pied-prod.piedadmin.com.br/api/v2
security:
  - bearerAuth: []
tags:
  - name: Request
    description: Tudo sobre orçamentos ou pedidos
  - name: Equipment
    description: Tudo sobre equipamentos
  - name: Company
    description: Tudo sobre empresas de energia
  - name: Custom Field
    description: Tudo sobre campos customizados
  - name: Payments
    description: Tudo sobre pagamentos
paths:
  /requests/{requestType}/{pageNumber}/{pageLimit}:
    get:
      tags:
        - Request
      summary: Retorna os dados dos orçamentos ou dos pedidos
      description: >-
        Retorna uma lista dos orçamentos/pedidos cadastrados na plataforma
        ordenados pela data de criação, sendo o primeiro registro o
        orçamento/pedido criado mais recentemente. Para a pesquisa retornar
        exclusivamente os novos registros de orçamentos/pedidos, ou seja, todos
        os orçamentos/pedidos que foram criados ou que tiveram algum de seus
        dados alterados desde a última requisição, deve-se realizar a pesquisa
        sem a utilização de parâmetros de pesquisa.
      parameters:
        - $ref: '#/components/parameters/requestType'
        - $ref: '#/components/parameters/pageNumber'
        - $ref: '#/components/parameters/pageLimit'
        - $ref: '#/components/parameters/createdBefore'
        - $ref: '#/components/parameters/createdAfter'
        - name: lastUpdateAfter
          in: query
          description: >-
            A pesquisa retorna registros atualizados pela última vez a partir
            desta data passada no parâmetro. Formato (AAAA-MM-DD).
          schema:
            type: string
        - name: lastUpdateBefore
          in: query
          description: >-
            A pesquisa retorna registros atualizados pela última vez até esta
            data passada no parâmetro. Formato (AAAA-MM-DD).
          schema:
            type: string
        - name: code
          in: query
          description: >-
            A pesquisa retorna registros nos quais o código de orçamento/pedido
            ou parte deste código é igual ao passado no parâmetro.
             
             Exemplo: Para a pesquisa retornar registros com o código 12345, pode-se passar tanto o parâmetro 12345, quanto os parâmetros 1, 2, 3, 4, 5, 12, 23, 123, 345…
          schema:
            type: string
        - name: name
          in: query
          description: >-
            A pesquisa retorna registros nos quais o nome de orçamento/pedido ou
            parte deste nome é igual ao passado no parâmetro.
             
             Exemplo: Para a pesquisa retornar registros com o nome ABCDE, pode-se passar tanto o parâmetro ABCDE, quanto os parâmetros A, B, C, D, E, AB, BC, ABC, CDE…
          schema:
            type: string
        - name: powerGTE
          in: query
          description: >-
            A pesquisa retorna registros criados com potência em Wp superior ou
            igual à passada no parâmetro.
          schema:
            type: number
        - name: powerLTE
          in: query
          description: >-
            A pesquisa retorna registros criados com potência em Wp inferior ou
            igual à passada no parâmetro.
          schema:
            type: number
        - name: freightState
          in: query
          description: >-
            A pesquisa retorna registros criados com o estado do frete de
            entrega igual ao da Unidade Federativa passada no parâmetro. Formato
            (UF).
          schema:
            type: string
        - name: freightCity
          in: query
          description: >-
            A pesquisa retorna registros nos quais o nome da cidade do frete de
            entrega ou parte deste nome é igual ao passado no parâmetro.
             
             Exemplo: Para a pesquisa retornar registros com o nome da cidade ABCDE, pode-se passar tanto o parâmetro ABCDE, quanto os parâmetros A, B, C, D, E, AB, BC, ABC, CDE…
          schema:
            type: string
        - name: companyCNPJ
          in: query
          description: >-
            A pesquisa retorna registros nos quais o CNPJ da empresa de energia
            solar ou parte deste CNPJ é igual ao passado no parâmetro. Formato
            (00.000.000/000-00). 
             
             Exemplo: Para a pesquisa retornar registros com o CNPJ 01.234.567/0001-89, pode-se passar tanto o parâmetro 01.234.567/0001-89, quanto os parâmetros 0, 1, 2, 3, 4, 01, 56, 0001, 567/0001…
          schema:
            type: string
        - name: responsibleEmail
          in: query
          description: >-
            A pesquisa retorna registros nos quais o e-mail do colaborador
            responsável pelo orçamento/pedido ou parte deste e-mail é igual ao
            passado no parâmetro.
             
             Exemplo: Para a pesquisa retornar registros com o e-mail email@email.com, pode-se passar tanto o parâmetro email@email.com, quanto os parâmetros e, m, a, @, ail, .com, email, @email.com…
          schema:
            type: string
        - name: removed
          in: query
          description: A pesquisa retorna os registros que foram removidos.
          schema:
            type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/request_v2'
        '204':
          description: Nenhum registro encontrado
        '400':
          description: >-
            Somente 'budget' e 'order' são aceitos como parâmetros do tipo de
            solicitação (requestType)
        '401':
          description: Esta funcionalidade está indisponível no momento.
        '404':
          description: Não encontrado
        '429':
          $ref: '#/components/schemas/429'
        '500':
          $ref: '#/components/schemas/500'
components:
  parameters:
    requestType:
      name: requestType
      in: path
      description: Determina se será pesquisado orçamentos ou pedidos.
      required: true
      schema:
        type: string
        enum:
          - order
          - budget
    pageNumber:
      name: pageNumber
      in: path
      description: Determina o número da página a ser retornada.
      required: true
      schema:
        type: integer
    pageLimit:
      name: pageLimit
      in: path
      description: Limita a quantidade de registros retornados por página.
      required: true
      schema:
        type: integer
    createdBefore:
      name: createdBefore
      in: query
      description: >-
        A pesquisa retorna registros criados até esta data passada no parâmetro.
        Formato (AAAA-MM-DD).
      schema:
        type: string
    createdAfter:
      name: createdAfter
      in: query
      description: >-
        A pesquisa retorna registros criados a partir desta data passada no
        parâmetro. Formato (AAAA-MM-DD).
      schema:
        type: string
  schemas:
    '429':
      description: >-
        hardLimit: O limite de requisições por hora foi ultrapassado. Tente
        novamente mais tarde / timeLimit: O limite de 1 minuto de processamento
        de requisição por hora foi atingido. Tente novamente mais tarde
    '500':
      description: Erro na API
    request_v2:
      type: object
      properties:
        id:
          type: string
          example: Identificador (ID) da requisição
        name:
          type: string
          example: Nome da requisição
        code:
          type: string
          example: '200000000'
        kind:
          type: string
          example: Kit Personalizado
        totalPower:
          type: number
          example: 22.75
        budgetCreated:
          type: string
          example: '2022-01-01T12:00:00.000Z'
        orderCreated:
          type: string
          example: '2022-01-01T12:00:00.000Z'
        dealStatus:
          type: string
          example: Novo
        stockStatus:
          type: string
          example: reserved
        originalValue:
          type: number
          example: 10000
        discount:
          type: number
          example: 10
        surcharge:
          type: number
          example: 10
        finalValue:
          type: number
          example: 9000
        differenceWithPaymentConditionApplied:
          type: number
          example: 0
          description: >-
            Diferença entre o valor do pedido/orçamento e o valor final com a
            forma de pagamento aplicada.
        notes:
          type: string
          example: <p>Anotações internas</p>
        addedBy:
          $ref: '#/components/schemas/addedBy'
        payment:
          $ref: '#/components/schemas/payment'
        responsible:
          $ref: '#/components/schemas/responsible'
        company:
          $ref: '#/components/schemas/companyRequest'
        products:
          type: array
          items:
            $ref: '#/components/schemas/productsRequest'
        files:
          type: array
          items:
            $ref: '#/components/schemas/filesRequest'
        customForm:
          type: array
          items:
            $ref: '#/components/schemas/customFormRequest'
        structure:
          type: array
          items:
            $ref: '#/components/schemas/structure'
        freight:
          $ref: '#/components/schemas/freight'
        invoice:
          $ref: '#/components/schemas/invoice'
        apiSent:
          type: boolean
          example: true
        apiSentUpdated:
          type: string
          example: '2022-01-01T12:00:00.000Z'
        billingDate:
          type: string
          example: '2025-01-01'
        customData:
          type: array
          items:
            $ref: '#/components/schemas/customData'
        removed:
          type: boolean
          example: false
    addedBy:
      type: object
      properties:
        name:
          type: string
          example: Nome
        surname:
          type: string
          example: Sobrenome
        email:
          type: string
          example: email@email.com
        cellphone:
          type: string
          example: (00) 00000-0000
    payment:
      allOf:
        - $ref: '#/components/schemas/paymentBase'
        - type: object
          properties:
            status:
              type: string
              enum:
                - notRequested
                - requested
                - received
                - cancelled
                - partial
            description:
              type: string
              example: 'Codigo PIX: XYZ'
            files:
              type: array
              items:
                properties:
                  path:
                    type: string
                  originalName:
                    type: string
            links:
              type: array
              items:
                properties:
                  id:
                    type: string
                    description: ID do pagamento
                  path:
                    type: string
                    example: /api/v2/payments/{id}
                  method:
                    type: string
                    enum:
                      - GET
                      - PUT
                      - DELETE
                    example: GET
    responsible:
      type: object
      properties:
        name:
          type: string
          example: Nome do responsável
        surname:
          type: string
          example: Sobrenome do responsável
        email:
          type: string
          example: email@email.com
        cellphone:
          type: string
          example: (00) 00000-0000
    companyRequest:
      type: object
      properties:
        cnpj:
          type: string
          example: 00.000.000/0000-00
        cpf:
          type: string
          example: 000.000.000-00
        fantasyName:
          type: string
          example: Nome fantasia
        companyName:
          type: string
          example: Razão social
        mainContact:
          $ref: '#/components/schemas/mainContact'
        address:
          $ref: '#/components/schemas/address'
    productsRequest:
      type: object
      properties:
        type:
          type: string
          enum:
            - module
            - inverter
            - stringBox
            - complementaryEquipment
            - extraItem
        productCode:
          type: string
          example: codigo123
        name:
          type: string
          example: Nome do produto
        quantity:
          type: number
          example: 10
        singlePrice:
          type: number
          example: 1000
        totalPrice:
          type: number
          example: 10000
        structure:
          $ref: '#/components/schemas/structureRequest'
        center:
          type: object
          properties:
            name:
              type: string
              example: Primeiro CD
            code:
              type: string
              example: CD001
        dimensions:
          type: object
          properties:
            length_MM:
              type: number
              example: 100
            width_MM:
              type: number
              example: 100
            height_MM:
              type: number
              example: 100
            weight_KG:
              type: number
              example: 1
            volume_M3:
              type: number
              example: 100
    filesRequest:
      type: object
      properties:
        category:
          type: string
          example: CPF
        uploadedFiles:
          type: array
          items:
            type: string
            example: CPF.png
    customFormRequest:
      type: object
      properties:
        question:
          type: string
          example: Data de nascimento
        answer:
          type: string
          example: 01/01/1900
    structure:
      type: object
      properties:
        kind:
          type: string
          example: Sem Estrutura
        arrangements:
          type: array
          items:
            $ref: '#/components/schemas/arrangements'
    freight:
      type: object
      properties:
        type:
          type: string
          example: CIF / FOB
        zoneType:
          type: string
          example: Rural / Urbana
        timeRestriction:
          type: string
          example: Restrição de horário
        truckPossible:
          type: string
          example: Sim / Não
        price:
          type: number
          example: 1000
        integrationData:
          type: object
          properties:
            id:
              type: string
              example: ID da integração (se houver)
            name:
              type: string
              example: Nome da integração
            logisticProviderName:
              type: string
              example: Nome do provedor logístico
        address:
          $ref: '#/components/schemas/address'
    invoice:
      type: object
      properties:
        razaoSocial:
          type: string
          example: Razão Social
        nomeFantasia:
          type: string
          example: Nome Fantasia
        cnpj:
          type: string
          example: 00.000.000/0000-00
        temInscricaoEstadual:
          type: string
          enum:
            - sim
            - nao
            - isento
          example: sim
        ie:
          type: string
          example: '000000000'
          description: >-
            Este campo é retornado caso o campo 'temInscricaoEstadual' seja
            igual a 'sim'.
        cpf:
          type: string
          example: 000.000.000-00
        rg:
          type: string
          example: '0000000'
        telephone:
          type: string
          example: (00) 0000-0000
        email:
          type: string
          example: email@email.com
        originalInvoiceValue:
          type: number
          example: 100000
        serviceToAddInvoiceValue:
          type: number
          example: 10000
        requestedInvoiceValue:
          type: number
          example: 120000
        address:
          $ref: '#/components/schemas/address'
    customData:
      type: object
      properties:
        key:
          type: string
          description: Código de identificação do campo
        value:
          $ref: '#/components/schemas/customFieldValue'
        type:
          type: string
          enum:
            - text
            - date
            - integer
            - decimal
            - currency
            - currencyGeneric
            - singleSelect
            - multiSelect
          description: Tipo do campo
    paymentBase:
      type: object
      properties:
        type:
          type: string
          enum:
            - pix
            - boleto
            - debito
            - credito
            - financiamento
            - other
        condition:
          type: object
          properties:
            name:
              type: string
              example: À vista
            quantityOfInstallments:
              type: number
              example: 1
            conditionType:
              type: string
              enum:
                - notUpdate
                - increase
                - decrease
            modifierType:
              type: string
              enum:
                - percentage
                - fixed
            value:
              type: number
              example: 10
        transactionStatus:
          type: string
          enum:
            - pending
            - pre_approved
            - approved
            - canceled
            - voided
            - failed
            - unknown
          example: pending
        transactionId:
          type: string
          example: AAABBB123AA
        authorizationNsu:
          type: string
          example: '123123'
        authorizationCode:
          type: string
          example: '123123'
        paidAt:
          type: string
          example: 2025-01-01T00:00
        creditCard:
          type: object
          properties:
            brand:
              type: string
              example: visa
            last4digits:
              type: string
              example: '1234'
            first6digits:
              type: string
              example: '123456'
            holderName:
              type: string
              example: John Doe
    mainContact:
      type: object
      properties:
        name:
          type: string
          example: Nome
        surname:
          type: string
          example: Sobrenome
        email:
          type: string
          example: email@email.com
        cellphone:
          type: string
          example: (00) 00000-0000
    address:
      type: object
      properties:
        CEP:
          type: string
          example: 00000-000
        state:
          type: string
          example: SC
        city:
          type: string
          example: Nome da Cidade
        neighborhood:
          type: string
          example: Nome do Bairro
        patio:
          type: string
          example: Nome da Rua
        number:
          type: string
          example: '1000'
        complement:
          type: string
          example: Bloco X, Casa Y
    structureRequest:
      type: object
      properties:
        name:
          type: string
          example: Cerâmica Colonial
        type:
          type: string
          example: cerâmica
        amount:
          type: number
          example: 1
        price:
          type: number
          example: 1000
    arrangements:
      type: object
      properties:
        linesAmount:
          type: number
          example: 2
        modulesByLine:
          type: number
          example: 25
        orientation:
          type: string
          example: Retrato / Paisagem
    customFieldValue:
      oneOf:
        - type: string
          description: Texto aberto
          default: '0000'
        - type: integer
          description: Número inteiro
          default: 1
        - type: number
          description: Número flutuante
          default: 900.9
        - type: array
          description: Seleção de múltiplos items
          default:
            - 1
            - 2
            - 3
          items:
            type: number
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````