{
  "openapi": "3.0.4",
  "info": {
    "title": "EloFiel API",
    "description": "API de integração do sistema de pontos e cashback EloFiel.",
    "contact": {
      "name": "EloFiel",
      "url": "https://elofiel.com.br",
      "email": "contato@elofiel.com.br"
    },
    "version": "v1"
  },
  "paths": {
    "/api/v1/admin/AdminDispositivo": {
      "post": {
        "tags": [
          "AdminDispositivo"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegistrarDispositivoRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RegistrarDispositivoRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RegistrarDispositivoRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "AdminDispositivo"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "string"
              }
            },
            "text/json": {
              "schema": {
                "type": "string"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "string"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/AnalyticsAdmin/resumo": {
      "get": {
        "tags": [
          "AnalyticsAdmin"
        ],
        "parameters": [
          {
            "name": "dataInicio",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "dataFim",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/AnalyticsAdmin/campanhas": {
      "get": {
        "tags": [
          "AnalyticsAdmin"
        ],
        "parameters": [
          {
            "name": "dataInicio",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "dataFim",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/AnalyticsAdmin/creditos/historico": {
      "get": {
        "tags": [
          "AnalyticsAdmin"
        ],
        "parameters": [
          {
            "name": "periodo",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/PeriodoHistorico"
            }
          },
          {
            "name": "granularidade",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/GranularidadeHistorico"
            }
          },
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/AnalyticsAdmin/lojas/ranking": {
      "get": {
        "tags": [
          "AnalyticsAdmin"
        ],
        "parameters": [
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/AnalyticsAdmin/clientes/top": {
      "get": {
        "tags": [
          "AnalyticsAdmin"
        ],
        "parameters": [
          {
            "name": "limite",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          },
          {
            "name": "ordenarPor",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/OrdenarClientesPor"
            }
          },
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/AnalyticsAdmin/expiracao/projecao": {
      "get": {
        "tags": [
          "AnalyticsAdmin"
        ],
        "parameters": [
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/assinatura/verificar": {
      "post": {
        "tags": [
          "Assinatura"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerificarDisponibilidadeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VerificarDisponibilidadeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VerificarDisponibilidadeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/assinatura/checkout": {
      "post": {
        "tags": [
          "Assinatura"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CriarCheckoutRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CriarCheckoutRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CriarCheckoutRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/assinatura/portal": {
      "post": {
        "tags": [
          "Assinatura"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/AuthAdmin/login": {
      "post": {
        "tags": [
          "AuthAdmin"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginAdminRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginAdminRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LoginAdminRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/AuthAdmin/primeiro-acesso": {
      "get": {
        "tags": [
          "AuthAdmin"
        ],
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "AuthAdmin"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrimeiroAcessoRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PrimeiroAcessoRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PrimeiroAcessoRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/AuthAdmin/recuperar-senha": {
      "post": {
        "tags": [
          "AuthAdmin"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecuperarSenhaRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RecuperarSenhaRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RecuperarSenhaRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/AuthAdmin/confirmar-redefinicao-senha": {
      "post": {
        "tags": [
          "AuthAdmin"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmarRedefinicaoSenhaRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmarRedefinicaoSenhaRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmarRedefinicaoSenhaRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/CampanhaAdmin": {
      "get": {
        "tags": [
          "CampanhaAdmin"
        ],
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tipo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "CampanhaAdmin"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CriarCampanhaRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CriarCampanhaRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CriarCampanhaRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/CampanhaAdmin/{id}": {
      "get": {
        "tags": [
          "CampanhaAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "CampanhaAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarCampanhaRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarCampanhaRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarCampanhaRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/CampanhaAdmin/{id}/status": {
      "patch": {
        "tags": [
          "CampanhaAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/campanha-lancamento": {
      "get": {
        "tags": [
          "CampanhaLancamento"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CampanhaLancamentoPublicaResponseApiResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampanhaLancamentoPublicaResponseApiResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampanhaLancamentoPublicaResponseApiResult"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/ClienteAdmin": {
      "get": {
        "tags": [
          "ClienteAdmin"
        ],
        "parameters": [
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "busca",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ativo",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "pagina",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "tamanho",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "ClienteAdmin"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CriarClienteAdminRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CriarClienteAdminRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CriarClienteAdminRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/ClienteAdmin/{id}": {
      "get": {
        "tags": [
          "ClienteAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "ClienteAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarClienteAdminRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarClienteAdminRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarClienteAdminRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/ClienteAdmin/{id}/status": {
      "patch": {
        "tags": [
          "ClienteAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "ativo",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/ClienteAdmin/{id}/saldo": {
      "get": {
        "tags": [
          "ClienteAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/ClienteAdmin/{id}/extrato": {
      "get": {
        "tags": [
          "ClienteAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pagina",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "tamanho",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/cliente/buscar": {
      "get": {
        "tags": [
          "ClienteBusca"
        ],
        "parameters": [
          {
            "name": "Cpf",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Qr",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClienteBuscaResponseApiResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResult"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResult"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResult"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResult"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/cliente/identificar": {
      "get": {
        "tags": [
          "ClienteIdentificar"
        ],
        "parameters": [
          {
            "name": "qr",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/cliente": {
      "post": {
        "tags": [
          "ClientePdv"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CadastrarClientePdvRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CadastrarClientePdvRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CadastrarClientePdvRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/saldo": {
      "get": {
        "tags": [
          "Clube"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/historico": {
      "get": {
        "tags": [
          "Clube"
        ],
        "parameters": [
          {
            "name": "pagina",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "tamanho",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/historico/resumo": {
      "get": {
        "tags": [
          "Clube"
        ],
        "parameters": [
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/perfil": {
      "get": {
        "tags": [
          "Clube"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Clube"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarClubePerfilRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarClubePerfilRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarClubePerfilRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/auth/definir-senha": {
      "post": {
        "tags": [
          "Clube"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DefinirSenhaClubeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DefinirSenhaClubeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DefinirSenhaClubeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/cartao/renovar": {
      "post": {
        "tags": [
          "Clube"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/perfil/email/solicitar-confirmacao": {
      "post": {
        "tags": [
          "Clube"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SolicitarConfirmacaoEmailRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SolicitarConfirmacaoEmailRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SolicitarConfirmacaoEmailRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/perfil/email": {
      "put": {
        "tags": [
          "Clube"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmarEmailRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmarEmailRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmarEmailRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/auth/solicitar-pin": {
      "post": {
        "tags": [
          "ClubeAuth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClubeSolicitarPinRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ClubeSolicitarPinRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ClubeSolicitarPinRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/auth/login": {
      "post": {
        "tags": [
          "ClubeAuth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClubeLoginRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ClubeLoginRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ClubeLoginRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/auth/renovar": {
      "post": {
        "tags": [
          "ClubeAuth"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/auth/handoff": {
      "post": {
        "tags": [
          "ClubeAuth"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/auth/cadastrar/iniciar": {
      "post": {
        "tags": [
          "ClubeAuth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IniciarCadastroProprioRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/IniciarCadastroProprioRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/IniciarCadastroProprioRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/auth/cadastrar/reenviar": {
      "post": {
        "tags": [
          "ClubeAuth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReenviarPinCadastroRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ReenviarPinCadastroRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ReenviarPinCadastroRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/auth/cadastrar/confirmar": {
      "post": {
        "tags": [
          "ClubeAuth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmarCadastroProprioRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmarCadastroProprioRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmarCadastroProprioRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/auth/google/login": {
      "post": {
        "tags": [
          "ClubeAuth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GoogleLoginRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GoogleLoginRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GoogleLoginRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/auth/google/iniciar": {
      "post": {
        "tags": [
          "ClubeAuth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GoogleIniciarRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GoogleIniciarRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GoogleIniciarRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/auth/google/confirmar": {
      "post": {
        "tags": [
          "ClubeAuth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GoogleConfirmarRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GoogleConfirmarRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GoogleConfirmarRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/auth/google/cadastrar": {
      "post": {
        "tags": [
          "ClubeAuth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GoogleCadastrarRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GoogleCadastrarRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GoogleCadastrarRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/auth/vincular/google": {
      "post": {
        "tags": [
          "ClubeAuth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GoogleVincularRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GoogleVincularRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GoogleVincularRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "ClubeAuth"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/auth/vincular": {
      "get": {
        "tags": [
          "ClubeAuth"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/clube/dispositivo": {
      "post": {
        "tags": [
          "ClubeDispositivo"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegistrarDispositivoRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RegistrarDispositivoRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RegistrarDispositivoRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "ClubeDispositivo"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "string"
              }
            },
            "text/json": {
              "schema": {
                "type": "string"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "string"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/cnpj/{cnpj}": {
      "get": {
        "tags": [
          "Cnpj"
        ],
        "parameters": [
          {
            "name": "cnpj",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/Configuracao": {
      "get": {
        "tags": [
          "Configuracao"
        ],
        "parameters": [
          {
            "name": "cnpjLoja",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/contato": {
      "post": {
        "tags": [
          "Contato"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContatoRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ContatoRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ContatoRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/contato/banner-click": {
      "post": {
        "tags": [
          "Contato"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BannerClickRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BannerClickRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BannerClickRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/LojaAdmin": {
      "get": {
        "tags": [
          "LojaAdmin"
        ],
        "parameters": [
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "ativo",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "LojaAdmin"
        ],
        "parameters": [
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CriarLojaRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CriarLojaRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CriarLojaRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/LojaAdmin/{id}": {
      "get": {
        "tags": [
          "LojaAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "LojaAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarLojaRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarLojaRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarLojaRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/LojaAdmin/{id}/status": {
      "patch": {
        "tags": [
          "LojaAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "ativo",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/LojaAdmin/{id}/logo": {
      "post": {
        "tags": [
          "LojaAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "arquivo": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "arquivo": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/LojaAdmin/{id}/marketplace": {
      "get": {
        "tags": [
          "LojaAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "LojaAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarAdesaoRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarAdesaoRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarAdesaoRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/marketplaceanalytics/resumo": {
      "get": {
        "tags": [
          "MarketplaceAnalyticsAdmin"
        ],
        "parameters": [
          {
            "name": "dataInicio",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "dataFim",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/MarketplaceProdutoAdmin/marketplace/subcategorias": {
      "get": {
        "tags": [
          "MarketplaceProdutoAdmin"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/MarketplaceProdutoAdmin/marketplace/produtos": {
      "get": {
        "tags": [
          "MarketplaceProdutoAdmin"
        ],
        "parameters": [
          {
            "name": "pagina",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "tamanho",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "MarketplaceProdutoAdmin"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CriarProdutoAdminRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CriarProdutoAdminRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CriarProdutoAdminRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/MarketplaceProdutoAdmin/marketplace/produtos/{id}": {
      "get": {
        "tags": [
          "MarketplaceProdutoAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "MarketplaceProdutoAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarProdutoAdminRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarProdutoAdminRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarProdutoAdminRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/MarketplaceProdutoAdmin/catalogo/pedidos": {
      "get": {
        "tags": [
          "MarketplaceProdutoAdmin"
        ],
        "parameters": [
          {
            "name": "pagina",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "tamanho",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/MarketplaceProdutoAdmin/catalogo/pedidos/{itemId}/status": {
      "put": {
        "tags": [
          "MarketplaceProdutoAdmin"
        ],
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarStatusItemAdminRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarStatusItemAdminRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarStatusItemAdminRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/MarketplaceUploadAdmin/marketplace/upload/produto/{produtoId}": {
      "post": {
        "tags": [
          "MarketplaceUploadAdmin"
        ],
        "parameters": [
          {
            "name": "produtoId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "ordem",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "arquivo": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "arquivo": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/notificacoes/badge": {
      "get": {
        "tags": [
          "NotificacoesAdmin"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/notificacoes": {
      "get": {
        "tags": [
          "NotificacoesAdmin"
        ],
        "parameters": [
          {
            "name": "apenasNaoLidas",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "pagina",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "tamanho",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/notificacoes/{id}/marcar-lida": {
      "post": {
        "tags": [
          "NotificacoesAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/notificacoes/marcar-todas-lidas": {
      "post": {
        "tags": [
          "NotificacoesAdmin"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/planos": {
      "get": {
        "tags": [
          "Plano"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlanoPublicoResponseIReadOnlyListApiResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanoPublicoResponseIReadOnlyListApiResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanoPublicoResponseIReadOnlyListApiResult"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/admin/PlanoAdmin": {
      "get": {
        "tags": [
          "PlanoAdmin"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/PushCampanhaAdmin": {
      "get": {
        "tags": [
          "PushCampanhaAdmin"
        ],
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "semVinculo",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "PushCampanhaAdmin"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CriarPushCampanhaRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CriarPushCampanhaRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CriarPushCampanhaRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/PushCampanhaAdmin/{id}": {
      "get": {
        "tags": [
          "PushCampanhaAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "PushCampanhaAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/PushCampanhaAdmin/{id}/enviar": {
      "post": {
        "tags": [
          "PushCampanhaAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/PushCampanhaAdmin/segmento/preview": {
      "post": {
        "tags": [
          "PushCampanhaAdmin"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PushSegmentoFiltrosRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PushSegmentoFiltrosRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PushSegmentoFiltrosRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/PushCampanhaAdmin/por-campanha/{campanhaFidelidadeId}": {
      "get": {
        "tags": [
          "PushCampanhaAdmin"
        ],
        "parameters": [
          {
            "name": "campanhaFidelidadeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/PushCampanhaAdmin/{id}/campanha-fidelidade": {
      "patch": {
        "tags": [
          "PushCampanhaAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "campanhaFidelidadeId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/Resgate": {
      "post": {
        "tags": [
          "Resgate"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResgatePdvRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ResgatePdvRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ResgatePdvRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/Resgate/saldo": {
      "get": {
        "tags": [
          "Resgate"
        ],
        "parameters": [
          {
            "name": "cnpjLoja",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cpfCliente",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/resgate-pontos": {
      "post": {
        "tags": [
          "ResgateAdmin"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResgateAdminRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ResgateAdminRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ResgateAdminRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/solicitacoes/badge": {
      "get": {
        "tags": [
          "Solicitacoes"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/solicitacoes": {
      "get": {
        "tags": [
          "Solicitacoes"
        ],
        "parameters": [
          {
            "name": "pagina",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "tamanho",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Solicitacoes"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CriarSolicitacaoRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CriarSolicitacaoRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CriarSolicitacaoRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/solicitacoes/{id}": {
      "get": {
        "tags": [
          "Solicitacoes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/solicitacoes/{id}/marcar-visualizado": {
      "post": {
        "tags": [
          "Solicitacoes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/stripe/webhook": {
      "post": {
        "tags": [
          "StripeWebhook"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/TenantAdmin": {
      "get": {
        "tags": [
          "TenantAdmin"
        ],
        "parameters": [
          {
            "name": "pagina",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "tamanho",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "ativo",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "TenantAdmin"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CriarTenantRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CriarTenantRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CriarTenantRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/TenantAdmin/{id}": {
      "get": {
        "tags": [
          "TenantAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "TenantAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarTenantRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarTenantRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarTenantRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/TenantAdmin/{id}/status": {
      "patch": {
        "tags": [
          "TenantAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "ativo",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/TenantAdmin/{id}/regenerar-token": {
      "post": {
        "tags": [
          "TenantAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/TenantAdmin/limites": {
      "get": {
        "tags": [
          "TenantAdmin"
        ],
        "parameters": [
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/UsuarioAdmin": {
      "get": {
        "tags": [
          "UsuarioAdmin"
        ],
        "parameters": [
          {
            "name": "tenantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "ativo",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "UsuarioAdmin"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CriarUsuarioAdminRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CriarUsuarioAdminRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CriarUsuarioAdminRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/UsuarioAdmin/{id}": {
      "get": {
        "tags": [
          "UsuarioAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "UsuarioAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarUsuarioAdminRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarUsuarioAdminRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AtualizarUsuarioAdminRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/UsuarioAdmin/{id}/status": {
      "patch": {
        "tags": [
          "UsuarioAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "ativo",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/UsuarioAdmin/{id}/redefinir-senha": {
      "post": {
        "tags": [
          "UsuarioAdmin"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RedefinirSenhaAdminRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RedefinirSenhaAdminRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RedefinirSenhaAdminRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/UsuarioAdmin/alterar-senha": {
      "post": {
        "tags": [
          "UsuarioAdmin"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AlterarSenhaRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AlterarSenhaRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AlterarSenhaRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/Venda": {
      "post": {
        "tags": [
          "Venda"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VendaPdvRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VendaPdvRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VendaPdvRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/Venda/preview": {
      "post": {
        "tags": [
          "Venda"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VendaPreviewRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VendaPreviewRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VendaPreviewRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/Venda/cancelar": {
      "post": {
        "tags": [
          "Venda"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelarVendaPdvRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelarVendaPdvRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CancelarVendaPdvRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/Venda/{id}/cancelar": {
      "post": {
        "tags": [
          "Venda"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelarVendaAdminRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelarVendaAdminRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CancelarVendaAdminRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/VendaManual": {
      "post": {
        "tags": [
          "VendaManual"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VendaManualRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VendaManualRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VendaManualRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/integracoes/whatsapp": {
      "get": {
        "tags": [
          "WhatsAppTenant"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/integracoes/whatsapp/toggle": {
      "put": {
        "tags": [
          "WhatsAppTenant"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WhatsAppToggleRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WhatsAppToggleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WhatsAppToggleRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/integracoes/whatsapp/status": {
      "get": {
        "tags": [
          "WhatsAppTenant"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/integracoes/whatsapp/qr": {
      "get": {
        "tags": [
          "WhatsAppTenant"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/integracoes/whatsapp/solicitar-pin": {
      "post": {
        "tags": [
          "WhatsAppTenant"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/admin/integracoes/whatsapp/disconnect": {
      "post": {
        "tags": [
          "WhatsAppTenant"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WhatsAppTenantPinRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WhatsAppTenantPinRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WhatsAppTenantPinRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AcaoBannerClick": {
        "enum": [
          "ConhecerEloFiel",
          "FalarWhatsApp",
          "ReceberContato"
        ],
        "type": "string"
      },
      "AlterarSenhaRequest": {
        "required": [
          "novaSenha",
          "senhaAtual"
        ],
        "type": "object",
        "properties": {
          "senhaAtual": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "novaSenha": {
            "maxLength": 200,
            "minLength": 8,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "AtualizarAdesaoRequest": {
        "type": "object",
        "properties": {
          "aderiu": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "AtualizarCampanhaRequest": {
        "type": "object",
        "properties": {
          "descricao": {
            "type": "string",
            "nullable": true
          },
          "escopoLojas": {
            "type": "string",
            "nullable": true
          },
          "lojaIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "modoCashback": {
            "type": "string",
            "nullable": true
          },
          "diasCarencia": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "regraArredondamento": {
            "type": "string",
            "nullable": true
          },
          "dataInicio": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "dataFim": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "prioridade": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "observacoes": {
            "type": "string",
            "nullable": true
          },
          "regraAcumulo": {
            "$ref": "#/components/schemas/RegraAcumuloRequest"
          },
          "regraResgate": {
            "$ref": "#/components/schemas/RegraResgateRequest"
          },
          "validade": {
            "$ref": "#/components/schemas/ValidadeCampanhaRequest"
          }
        },
        "additionalProperties": false
      },
      "AtualizarClienteAdminRequest": {
        "type": "object",
        "properties": {
          "nome": {
            "maxLength": 150,
            "type": "string",
            "nullable": true
          },
          "email": {
            "maxLength": 200,
            "type": "string",
            "format": "email",
            "nullable": true
          },
          "telefone": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "dataNascimento": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "cep": {
            "maxLength": 10,
            "type": "string",
            "nullable": true
          },
          "logradouro": {
            "maxLength": 200,
            "type": "string",
            "nullable": true
          },
          "numero": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "complemento": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "bairro": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "cidade": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "uf": {
            "maxLength": 2,
            "minLength": 2,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AtualizarClubePerfilRequest": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "nullable": true
          },
          "telefone": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AtualizarLojaRequest": {
        "type": "object",
        "properties": {
          "nome": {
            "type": "string",
            "nullable": true
          },
          "cidade": {
            "type": "string",
            "nullable": true
          },
          "uf": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AtualizarProdutoAdminRequest": {
        "required": [
          "nome",
          "subcategoriaId"
        ],
        "type": "object",
        "properties": {
          "subcategoriaId": {
            "type": "string",
            "format": "uuid"
          },
          "nome": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "descricao": {
            "maxLength": 2000,
            "type": "string",
            "nullable": true
          },
          "precoPontos": {
            "maximum": 999999,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          },
          "precoReais": {
            "maximum": 999999.99,
            "minimum": 0,
            "type": "number",
            "format": "double"
          },
          "precoPontosOriginal": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "precoReaisOriginal": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "custoLojista": {
            "maximum": 999999.99,
            "minimum": 0,
            "type": "number",
            "format": "double"
          },
          "estoque": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tipoEntrega": {
            "$ref": "#/components/schemas/TipoEntregaProduto"
          },
          "dataValidade": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "ativo": {
            "type": "boolean"
          },
          "destaque": {
            "type": "boolean"
          },
          "tags": {
            "maxLength": 500,
            "type": "string",
            "nullable": true
          },
          "ordem": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "AtualizarStatusItemAdminRequest": {
        "required": [
          "acao"
        ],
        "type": "object",
        "properties": {
          "acao": {
            "minLength": 1,
            "type": "string"
          },
          "motivo": {
            "type": "string",
            "nullable": true
          },
          "observacao": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AtualizarTenantRequest": {
        "type": "object",
        "properties": {
          "planoId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "razaoSocial": {
            "type": "string",
            "nullable": true
          },
          "nomeFantasia": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "telefone": {
            "type": "string",
            "nullable": true
          },
          "dataContrato": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "dataVencimento": {
            "type": "string",
            "format": "date",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AtualizarUsuarioAdminRequest": {
        "type": "object",
        "properties": {
          "nome": {
            "type": "string",
            "nullable": true
          },
          "perfil": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BannerClickRequest": {
        "required": [
          "acaoEscolhida",
          "cnpj",
          "empresa",
          "telefone"
        ],
        "type": "object",
        "properties": {
          "empresa": {
            "maxLength": 150,
            "minLength": 1,
            "type": "string"
          },
          "cnpj": {
            "minLength": 1,
            "pattern": "^\\d{14}$|^\\d{2}\\.\\d{3}\\.\\d{3}/\\d{4}-\\d{2}$",
            "type": "string"
          },
          "telefone": {
            "minLength": 1,
            "pattern": "^\\d{10,11}$|^\\(\\d{2}\\)\\s?\\d{4,5}-\\d{4}$",
            "type": "string"
          },
          "email": {
            "maxLength": 200,
            "type": "string",
            "format": "email",
            "nullable": true
          },
          "nome": {
            "maxLength": 150,
            "type": "string",
            "nullable": true
          },
          "acaoEscolhida": {
            "$ref": "#/components/schemas/AcaoBannerClick"
          },
          "moduloTela": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CadastrarClientePdvRequest": {
        "required": [
          "aceiteLgpd",
          "cpf",
          "email",
          "nome",
          "telefone"
        ],
        "type": "object",
        "properties": {
          "cpf": {
            "maxLength": 14,
            "minLength": 11,
            "type": "string"
          },
          "nome": {
            "maxLength": 150,
            "minLength": 2,
            "type": "string"
          },
          "email": {
            "maxLength": 150,
            "minLength": 1,
            "type": "string",
            "format": "email"
          },
          "telefone": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string"
          },
          "dataNascimento": {
            "maxLength": 10,
            "type": "string",
            "nullable": true
          },
          "aceiteLgpd": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CampanhaLancamentoPublicaResponse": {
        "type": "object",
        "properties": {
          "ativa": {
            "type": "boolean"
          },
          "titulo": {
            "type": "string",
            "nullable": true
          },
          "subtitulo": {
            "type": "string",
            "nullable": true
          },
          "dataFim": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "ctaLabel": {
            "type": "string",
            "nullable": true
          },
          "ctaUrl": {
            "type": "string",
            "nullable": true
          },
          "ocultarValores": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CampanhaLancamentoPublicaResponseApiResult": {
        "type": "object",
        "properties": {
          "sucesso": {
            "type": "boolean",
            "readOnly": true
          },
          "dados": {
            "$ref": "#/components/schemas/CampanhaLancamentoPublicaResponse"
          },
          "mensagem": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "erros": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "CancelarVendaAdminRequest": {
        "required": [
          "motivo",
          "movimentacaoId"
        ],
        "type": "object",
        "properties": {
          "movimentacaoId": {
            "type": "string",
            "format": "uuid"
          },
          "motivo": {
            "maxLength": 200,
            "minLength": 3,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CancelarVendaPdvRequest": {
        "required": [
          "cnpjLoja",
          "documentoExterno"
        ],
        "type": "object",
        "properties": {
          "cnpjLoja": {
            "maxLength": 18,
            "minLength": 14,
            "type": "string"
          },
          "documentoExterno": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "motivo": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ClienteAutoRequest": {
        "required": [
          "nome"
        ],
        "type": "object",
        "properties": {
          "nome": {
            "maxLength": 150,
            "minLength": 2,
            "type": "string"
          },
          "email": {
            "maxLength": 200,
            "type": "string",
            "format": "email",
            "nullable": true
          },
          "telefone": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ClienteBuscaResponse": {
        "type": "object",
        "properties": {
          "cpf": {
            "type": "string",
            "nullable": true
          },
          "nome": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "telefone": {
            "type": "string",
            "nullable": true
          },
          "dataNascimento": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "whatsappJid": {
            "type": "string",
            "nullable": true
          },
          "cadastradoEm": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "ClienteBuscaResponseApiResult": {
        "type": "object",
        "properties": {
          "sucesso": {
            "type": "boolean",
            "readOnly": true
          },
          "dados": {
            "$ref": "#/components/schemas/ClienteBuscaResponse"
          },
          "mensagem": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "erros": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ClubeLoginRequest": {
        "required": [
          "cpf"
        ],
        "type": "object",
        "properties": {
          "cpf": {
            "maxLength": 14,
            "minLength": 11,
            "type": "string"
          },
          "pin": {
            "maxLength": 6,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "senha": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ClubeSolicitarPinRequest": {
        "required": [
          "canal",
          "cpf"
        ],
        "type": "object",
        "properties": {
          "cpf": {
            "maxLength": 14,
            "minLength": 11,
            "type": "string"
          },
          "canal": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ConfirmarCadastroProprioRequest": {
        "required": [
          "cpf",
          "pin"
        ],
        "type": "object",
        "properties": {
          "cpf": {
            "maxLength": 14,
            "minLength": 11,
            "type": "string"
          },
          "pin": {
            "maxLength": 6,
            "minLength": 6,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ConfirmarEmailRequest": {
        "required": [
          "codigo",
          "novoEmail"
        ],
        "type": "object",
        "properties": {
          "novoEmail": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string",
            "format": "email"
          },
          "codigo": {
            "maxLength": 6,
            "minLength": 6,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ConfirmarRedefinicaoSenhaRequest": {
        "required": [
          "novaSenha",
          "token"
        ],
        "type": "object",
        "properties": {
          "token": {
            "minLength": 1,
            "type": "string"
          },
          "novaSenha": {
            "minLength": 8,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ContatoRequest": {
        "required": [
          "email",
          "mensagem",
          "nome",
          "telefone"
        ],
        "type": "object",
        "properties": {
          "nome": {
            "maxLength": 150,
            "minLength": 1,
            "type": "string"
          },
          "email": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string",
            "format": "email"
          },
          "telefone": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string"
          },
          "mensagem": {
            "maxLength": 1000,
            "minLength": 10,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CriarCampanhaRequest": {
        "type": "object",
        "properties": {
          "descricao": {
            "type": "string",
            "nullable": true
          },
          "tipo": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "escopoLojas": {
            "type": "string",
            "nullable": true
          },
          "lojaIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "modoCashback": {
            "type": "string",
            "nullable": true
          },
          "diasCarencia": {
            "type": "integer",
            "format": "int32"
          },
          "regraArredondamento": {
            "type": "string",
            "nullable": true
          },
          "dataInicio": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "dataFim": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "prioridade": {
            "type": "integer",
            "format": "int32"
          },
          "observacoes": {
            "type": "string",
            "nullable": true
          },
          "regraAcumulo": {
            "$ref": "#/components/schemas/RegraAcumuloRequest"
          },
          "regraResgate": {
            "$ref": "#/components/schemas/RegraResgateRequest"
          },
          "validade": {
            "$ref": "#/components/schemas/ValidadeCampanhaRequest"
          }
        },
        "additionalProperties": false
      },
      "CriarCheckoutRequest": {
        "required": [
          "cancelUrl",
          "cnpj",
          "email",
          "nomeFantasia",
          "planoId",
          "razaoSocial",
          "successUrl"
        ],
        "type": "object",
        "properties": {
          "planoId": {
            "minLength": 1,
            "type": "string"
          },
          "email": {
            "minLength": 1,
            "type": "string",
            "format": "email"
          },
          "nomeFantasia": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "razaoSocial": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "cnpj": {
            "maxLength": 14,
            "minLength": 14,
            "type": "string"
          },
          "telefone": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "trial": {
            "type": "boolean"
          },
          "successUrl": {
            "minLength": 1,
            "type": "string",
            "format": "uri"
          },
          "cancelUrl": {
            "minLength": 1,
            "type": "string",
            "format": "uri"
          }
        },
        "additionalProperties": false
      },
      "CriarClienteAdminRequest": {
        "required": [
          "cpf",
          "email",
          "nome",
          "telefone"
        ],
        "type": "object",
        "properties": {
          "tenantId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "cpf": {
            "maxLength": 14,
            "minLength": 11,
            "type": "string"
          },
          "nome": {
            "maxLength": 150,
            "minLength": 1,
            "type": "string"
          },
          "email": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string",
            "format": "email"
          },
          "telefone": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string"
          },
          "dataNascimento": {
            "type": "string",
            "format": "date"
          },
          "cep": {
            "maxLength": 10,
            "type": "string",
            "nullable": true
          },
          "logradouro": {
            "maxLength": 200,
            "type": "string",
            "nullable": true
          },
          "numero": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "complemento": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "bairro": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "cidade": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "uf": {
            "maxLength": 2,
            "minLength": 2,
            "type": "string",
            "nullable": true
          },
          "aceiteLgpd": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CriarLojaRequest": {
        "required": [
          "cnpj",
          "nome"
        ],
        "type": "object",
        "properties": {
          "nome": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "cnpj": {
            "maxLength": 18,
            "minLength": 14,
            "type": "string"
          },
          "cidade": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "uf": {
            "maxLength": 2,
            "minLength": 2,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CriarProdutoAdminRequest": {
        "required": [
          "lojaId",
          "nome",
          "subcategoriaId"
        ],
        "type": "object",
        "properties": {
          "lojaId": {
            "type": "string",
            "format": "uuid"
          },
          "subcategoriaId": {
            "type": "string",
            "format": "uuid"
          },
          "nome": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "descricao": {
            "maxLength": 2000,
            "type": "string",
            "nullable": true
          },
          "precoPontos": {
            "maximum": 999999,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          },
          "precoReais": {
            "maximum": 999999.99,
            "minimum": 0,
            "type": "number",
            "format": "double"
          },
          "precoPontosOriginal": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "precoReaisOriginal": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "custoLojista": {
            "maximum": 999999.99,
            "minimum": 0,
            "type": "number",
            "format": "double"
          },
          "estoque": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tipoEntrega": {
            "$ref": "#/components/schemas/TipoEntregaProduto"
          },
          "dataValidade": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "destaque": {
            "type": "boolean"
          },
          "tags": {
            "maxLength": 500,
            "type": "string",
            "nullable": true
          },
          "ordem": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CriarPushCampanhaRequest": {
        "type": "object",
        "properties": {
          "titulo": {
            "type": "string",
            "nullable": true
          },
          "corpo": {
            "type": "string",
            "nullable": true
          },
          "urlAcao": {
            "type": "string",
            "nullable": true
          },
          "modalidade": {
            "type": "string",
            "nullable": true
          },
          "clubeClienteId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "filtros": {
            "$ref": "#/components/schemas/PushSegmentoFiltrosRequest"
          },
          "agendadaPara": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "periodicidade": {
            "type": "string",
            "nullable": true
          },
          "diasSemana": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "diaMes": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "horarioEnvio": {
            "type": "string",
            "nullable": true
          },
          "vigenciaFim": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "campanhaFidelidadeId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "providerPush": {
            "type": "boolean"
          },
          "providerWhatsapp": {
            "type": "boolean"
          },
          "providerEmail": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CriarSolicitacaoRequest": {
        "required": [
          "descricao",
          "titulo"
        ],
        "type": "object",
        "properties": {
          "titulo": {
            "maxLength": 200,
            "minLength": 5,
            "type": "string"
          },
          "descricao": {
            "maxLength": 10000,
            "minLength": 10,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CriarTenantRequest": {
        "required": [
          "cnpj",
          "email",
          "nomeFantasia",
          "planoId",
          "razaoSocial"
        ],
        "type": "object",
        "properties": {
          "planoId": {
            "type": "string",
            "format": "uuid"
          },
          "razaoSocial": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "nomeFantasia": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "cnpj": {
            "maxLength": 18,
            "minLength": 14,
            "type": "string"
          },
          "email": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string",
            "format": "email"
          },
          "telefone": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "dataContrato": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "dataVencimento": {
            "type": "string",
            "format": "date",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CriarUsuarioAdminRequest": {
        "required": [
          "email",
          "nome",
          "senha"
        ],
        "type": "object",
        "properties": {
          "tenantId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "nome": {
            "maxLength": 150,
            "minLength": 1,
            "type": "string"
          },
          "email": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string",
            "format": "email"
          },
          "senha": {
            "maxLength": 200,
            "minLength": 8,
            "type": "string"
          },
          "perfil": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DefinirSenhaClubeRequest": {
        "required": [
          "novaSenha"
        ],
        "type": "object",
        "properties": {
          "senhaAtual": {
            "type": "string",
            "nullable": true
          },
          "novaSenha": {
            "maxLength": 25,
            "minLength": 6,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "GoogleCadastrarRequest": {
        "required": [
          "aceiteLgpd",
          "cpf",
          "idToken",
          "nonce",
          "telefone"
        ],
        "type": "object",
        "properties": {
          "idToken": {
            "minLength": 1,
            "type": "string"
          },
          "nonce": {
            "minLength": 1,
            "type": "string"
          },
          "cpf": {
            "maxLength": 11,
            "minLength": 11,
            "type": "string"
          },
          "telefone": {
            "minLength": 1,
            "type": "string"
          },
          "dataNascimento": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "aceiteLgpd": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "GoogleConfirmarRequest": {
        "required": [
          "cpf",
          "pin"
        ],
        "type": "object",
        "properties": {
          "cpf": {
            "minLength": 1,
            "type": "string"
          },
          "pin": {
            "maxLength": 6,
            "minLength": 6,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "GoogleIniciarRequest": {
        "required": [
          "cpf",
          "idToken",
          "nonce"
        ],
        "type": "object",
        "properties": {
          "idToken": {
            "minLength": 1,
            "type": "string"
          },
          "cpf": {
            "minLength": 1,
            "type": "string"
          },
          "nonce": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "GoogleLoginRequest": {
        "required": [
          "idToken",
          "nonce"
        ],
        "type": "object",
        "properties": {
          "idToken": {
            "minLength": 1,
            "type": "string"
          },
          "nonce": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "GoogleVincularRequest": {
        "required": [
          "idToken",
          "nonce"
        ],
        "type": "object",
        "properties": {
          "idToken": {
            "minLength": 1,
            "type": "string"
          },
          "nonce": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "GranularidadeHistorico": {
        "enum": [
          "Dia",
          "Semana",
          "Mes"
        ],
        "type": "string"
      },
      "IniciarCadastroProprioRequest": {
        "required": [
          "aceiteLgpd",
          "cpf",
          "dataNascimento",
          "nome",
          "termosVersao"
        ],
        "type": "object",
        "properties": {
          "cpf": {
            "maxLength": 14,
            "minLength": 11,
            "type": "string"
          },
          "nome": {
            "maxLength": 200,
            "minLength": 2,
            "type": "string"
          },
          "dataNascimento": {
            "type": "string",
            "format": "date"
          },
          "email": {
            "maxLength": 200,
            "type": "string",
            "format": "email",
            "nullable": true
          },
          "telefone": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "aceiteLgpd": {
            "type": "boolean"
          },
          "termosVersao": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "LoginAdminRequest": {
        "required": [
          "email",
          "senha"
        ],
        "type": "object",
        "properties": {
          "email": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string",
            "format": "email"
          },
          "senha": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ObjectApiResult": {
        "type": "object",
        "properties": {
          "sucesso": {
            "type": "boolean",
            "readOnly": true
          },
          "dados": {
            "nullable": true,
            "readOnly": true
          },
          "mensagem": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "erros": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "OrdenarClientesPor": {
        "enum": [
          "Saldo",
          "TotalCompras",
          "TotalResgates"
        ],
        "type": "string"
      },
      "PeriodoHistorico": {
        "enum": [
          "Sete",
          "Trinta",
          "NoventaDias",
          "SeiseMeses",
          "UmAno"
        ],
        "type": "string"
      },
      "PlanoPublicoResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "nome": {
            "type": "string",
            "nullable": true
          },
          "descricao": {
            "type": "string",
            "nullable": true
          },
          "limiteLojas": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "limiteCampanhas": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "limiteUsuarios": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "precoMensal": {
            "type": "number",
            "format": "double"
          },
          "precoPromocional": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PlanoPublicoResponseIReadOnlyListApiResult": {
        "type": "object",
        "properties": {
          "sucesso": {
            "type": "boolean",
            "readOnly": true
          },
          "dados": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlanoPublicoResponse"
            },
            "nullable": true,
            "readOnly": true
          },
          "mensagem": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "erros": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "PrimeiroAcessoRequest": {
        "required": [
          "confirmarSenha",
          "novaSenha",
          "token"
        ],
        "type": "object",
        "properties": {
          "token": {
            "minLength": 1,
            "type": "string"
          },
          "novaSenha": {
            "maxLength": 200,
            "minLength": 8,
            "type": "string"
          },
          "confirmarSenha": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PushSegmentoFiltrosRequest": {
        "type": "object",
        "properties": {
          "diasInativo": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "saldoMinimoReais": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "saldoMinimoPoints": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "nuncaResgatou": {
            "type": "boolean",
            "nullable": true
          },
          "lojaId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "cadastradoApos": {
            "type": "string",
            "format": "date",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RecuperarSenhaRequest": {
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "email": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string",
            "format": "email"
          }
        },
        "additionalProperties": false
      },
      "RedefinirSenhaAdminRequest": {
        "required": [
          "novaSenha"
        ],
        "type": "object",
        "properties": {
          "novaSenha": {
            "maxLength": 200,
            "minLength": 8,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ReenviarPinCadastroRequest": {
        "required": [
          "cpf"
        ],
        "type": "object",
        "properties": {
          "cpf": {
            "maxLength": 14,
            "minLength": 11,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "RegistrarDispositivoRequest": {
        "type": "object",
        "properties": {
          "fcmToken": {
            "type": "string",
            "nullable": true
          },
          "plataforma": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RegraAcumuloRequest": {
        "type": "object",
        "properties": {
          "tipoRegra": {
            "type": "string",
            "nullable": true
          },
          "valorBase": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "pontosGerados": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "percentualCashback": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "valorFixoCashback": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "pontosPorCompra": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "cashbackPorCompra": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "compraMinima": {
            "type": "number",
            "format": "double"
          },
          "limiteMaximoVenda": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RegraResgateRequest": {
        "type": "object",
        "properties": {
          "tipoResgate": {
            "type": "string",
            "nullable": true
          },
          "conversaoPontos": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "vendaMinima": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "pontosMinimos": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "cashbackMinimo": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "limiteDescontoVenda": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "permiteUsoParcial": {
            "type": "boolean"
          },
          "permiteCashbackEmResgate": {
            "type": "boolean"
          },
          "permiteDescontoSobreCashbackGerado": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ResgateAdminRequest": {
        "required": [
          "cnpjLoja",
          "cpfCliente",
          "pontosResgatados",
          "produtoDescricao"
        ],
        "type": "object",
        "properties": {
          "cpfCliente": {
            "maxLength": 14,
            "minLength": 11,
            "type": "string"
          },
          "cnpjLoja": {
            "maxLength": 18,
            "minLength": 14,
            "type": "string"
          },
          "produtoDescricao": {
            "maxLength": 500,
            "minLength": 1,
            "type": "string"
          },
          "pontosResgatados": {
            "maximum": 10000000,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "observacao": {
            "maxLength": 500,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ResgatePdvRequest": {
        "required": [
          "cnpjLoja",
          "cpfCliente",
          "tipoBeneficio"
        ],
        "type": "object",
        "properties": {
          "cnpjLoja": {
            "maxLength": 18,
            "minLength": 14,
            "type": "string"
          },
          "cpfCliente": {
            "maxLength": 14,
            "minLength": 11,
            "type": "string"
          },
          "tipoBeneficio": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          },
          "valorResgate": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "pontosResgate": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "documentoExterno": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "observacao": {
            "maxLength": 500,
            "type": "string",
            "nullable": true
          },
          "descricaoTroca": {
            "maxLength": 200,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SolicitarConfirmacaoEmailRequest": {
        "required": [
          "novoEmail"
        ],
        "type": "object",
        "properties": {
          "novoEmail": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string",
            "format": "email"
          }
        },
        "additionalProperties": false
      },
      "TipoEntregaProduto": {
        "enum": [
          "Retirada",
          "Digital",
          "Ambos"
        ],
        "type": "string"
      },
      "ValidadeCampanhaRequest": {
        "type": "object",
        "properties": {
          "tipoValidade": {
            "type": "string",
            "nullable": true
          },
          "dias": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "dataFixa": {
            "type": "string",
            "format": "date",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VendaManualRequest": {
        "required": [
          "cnpjLoja",
          "cpfCliente",
          "valorVenda"
        ],
        "type": "object",
        "properties": {
          "cpfCliente": {
            "maxLength": 14,
            "minLength": 11,
            "type": "string"
          },
          "cnpjLoja": {
            "maxLength": 18,
            "minLength": 14,
            "type": "string"
          },
          "valorVenda": {
            "maximum": 1.7976931348623157E+308,
            "minimum": 0.01,
            "type": "number",
            "format": "double"
          },
          "observacao": {
            "maxLength": 500,
            "type": "string",
            "nullable": true
          },
          "usarCashbackDisponivel": {
            "type": "boolean"
          },
          "usarCashbackGerado": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "VendaPdvRequest": {
        "required": [
          "cnpjLoja",
          "cpfCliente"
        ],
        "type": "object",
        "properties": {
          "cnpjLoja": {
            "maxLength": 18,
            "minLength": 14,
            "type": "string"
          },
          "cpfCliente": {
            "maxLength": 14,
            "minLength": 11,
            "type": "string"
          },
          "valorVenda": {
            "maximum": 1.7976931348623157E+308,
            "minimum": 0.01,
            "type": "number",
            "format": "double"
          },
          "documentoExterno": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "observacao": {
            "maxLength": 500,
            "type": "string",
            "nullable": true
          },
          "cliente": {
            "$ref": "#/components/schemas/ClienteAutoRequest"
          },
          "usarCashbackDisponivel": {
            "type": "boolean"
          },
          "usarCashbackGerado": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "VendaPreviewRequest": {
        "required": [
          "cnpjLoja"
        ],
        "type": "object",
        "properties": {
          "cnpjLoja": {
            "maxLength": 18,
            "minLength": 14,
            "type": "string"
          },
          "valorVenda": {
            "maximum": 1.7976931348623157E+308,
            "minimum": 0.01,
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "VerificarDisponibilidadeRequest": {
        "required": [
          "cnpj",
          "email"
        ],
        "type": "object",
        "properties": {
          "cnpj": {
            "minLength": 1,
            "pattern": "^\\d{14}$",
            "type": "string"
          },
          "email": {
            "maxLength": 150,
            "minLength": 1,
            "type": "string",
            "format": "email"
          }
        },
        "additionalProperties": false
      },
      "WhatsAppTenantPinRequest": {
        "type": "object",
        "properties": {
          "pin": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WhatsAppToggleRequest": {
        "type": "object",
        "properties": {
          "ativar": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "description": "Informe o token JWT. Ex: Bearer {seu_token}",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      },
      "ApiKey": {
        "type": "apiKey",
        "description": "Token do tenant fornecido na contratação do EloFiel.",
        "name": "X-Api-Key",
        "in": "header"
      }
    }
  },
  "tags": [
    {
      "name": "AdminDispositivo"
    },
    {
      "name": "AnalyticsAdmin"
    },
    {
      "name": "Assinatura"
    },
    {
      "name": "AuthAdmin"
    },
    {
      "name": "CampanhaAdmin"
    },
    {
      "name": "CampanhaLancamento"
    },
    {
      "name": "ClienteAdmin"
    },
    {
      "name": "ClienteBusca"
    },
    {
      "name": "ClienteIdentificar"
    },
    {
      "name": "ClientePdv"
    },
    {
      "name": "Clube"
    },
    {
      "name": "ClubeAuth"
    },
    {
      "name": "ClubeDispositivo"
    },
    {
      "name": "Cnpj"
    },
    {
      "name": "Configuracao"
    },
    {
      "name": "Contato"
    },
    {
      "name": "LojaAdmin"
    },
    {
      "name": "MarketplaceAnalyticsAdmin"
    },
    {
      "name": "MarketplaceProdutoAdmin"
    },
    {
      "name": "MarketplaceUploadAdmin"
    },
    {
      "name": "NotificacoesAdmin"
    },
    {
      "name": "Plano"
    },
    {
      "name": "PlanoAdmin"
    },
    {
      "name": "PushCampanhaAdmin"
    },
    {
      "name": "Resgate"
    },
    {
      "name": "ResgateAdmin"
    },
    {
      "name": "Solicitacoes"
    },
    {
      "name": "StripeWebhook"
    },
    {
      "name": "TenantAdmin"
    },
    {
      "name": "UsuarioAdmin"
    },
    {
      "name": "Venda"
    },
    {
      "name": "VendaManual"
    },
    {
      "name": "WhatsAppTenant"
    }
  ]
}