{
  "openapi": "3.0.3",
  "info": {
    "title": "Webservice",
    "version": "1.0.0",
    "description": "Para liberar acesso como agência, primeiramente você deve criar um nome para seu app e ativar o webservice do Woofi, no aplicativo WEB, basta ir até o seu perfil e a opção de Webservice estará lá."
  },
  "servers": [
    {
      "url": "https://portal.woo-fi.com/api/webservice/v1",
      "description": "Produção"
    },
    {
      "url": "https://beta.woo-fi.com/api/webservice/v1",
      "description": "Sandbox"
    }
  ],
  "tags": [
    {
      "name": "Auth"
    },
    {
      "name": "Catalog"
    },
    {
      "name": "Activations"
    },
    {
      "name": "Credit"
    },
    {
      "name": "Dashboard"
    }
  ],
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  },
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "paths": {
    "/auth/login": {
      "post": {
        "summary": "Login",
        "operationId": "webservice-post-auth-login",
        "tags": [
          "Auth"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string"
                  },
                  "app_name": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  }
                },
                "required": [
                  "email",
                  "app_name",
                  "password"
                ]
              },
              "example": {
                "email": "exemplo@exemplo.com",
                "app_name": "exemplo",
                "password": "exemplo"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Login Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "token": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "email": {
                      "type": "string"
                    },
                    "photo": {
                      "type": "string"
                    },
                    "phone": {
                      "type": "string"
                    },
                    "cpfCnpj": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "token": "1|ddd11111233glqjUAsu2123xamZ8d768c5e",
                  "name": "YOUR NAME",
                  "email": "example@email.com",
                  "photo": "/user-images/image.jpeg",
                  "phone": "(18) 99999-9999",
                  "cpfCnpj": "333.333.333-33"
                }
              }
            }
          },
          "401": {
            "description": "Login Failed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Credenciais inválidas"
                }
              }
            }
          }
        }
      }
    },
    "/auth/check-user": {
      "get": {
        "summary": "Check User",
        "operationId": "webservice-get-auth-check-user",
        "tags": [
          "Auth"
        ],
        "description": "Esse endpoit é válido para quando queremos validar se o usuário está com o seu token válido ou não, caso sim ele retornará um 200 code e caso não, retornará um 401. A sessão sempre durará uma hora.",
        "responses": {
          "200": {
            "description": "Valid Token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer"
                    },
                    "name": {
                      "type": "string"
                    },
                    "email": {
                      "type": "string"
                    },
                    "phone": {
                      "type": "string"
                    },
                    "photo": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "id": 133,
                  "name": "João Silva",
                  "email": "joao.silva@example.com",
                  "phone": "(11) 98765-4321",
                  "photo": "/user-images/example.jpeg"
                }
              }
            }
          },
          "401": {
            "description": "Invalid Token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Unauthenticated."
                }
              }
            }
          }
        }
      }
    },
    "/auth/user-info": {
      "get": {
        "summary": "User Info",
        "operationId": "webservice-get-auth-user-info",
        "tags": [
          "Auth"
        ],
        "responses": {
          "200": {
            "description": "User Info",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer"
                    },
                    "name": {
                      "type": "string"
                    },
                    "email": {
                      "type": "string"
                    },
                    "phone": {
                      "type": "string"
                    },
                    "photo": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "id": 133,
                  "name": "João Silva",
                  "email": "joao.silva@example.com",
                  "phone": "(11) 98765-4321",
                  "photo": "/user-images/example.jpeg"
                }
              }
            }
          }
        }
      }
    },
    "/operators": {
      "get": {
        "summary": "Operators",
        "operationId": "webservice-get-operators",
        "tags": [
          "Catalog"
        ],
        "responses": {
          "200": {
            "description": "Operators",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "idOperator": {
                        "type": "integer"
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                },
                "example": [
                  {
                    "idOperator": 14,
                    "description": "T-Mobile"
                  },
                  {
                    "idOperator": 15,
                    "description": "WOOFI"
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/products": {
      "get": {
        "summary": "Products",
        "operationId": "webservice-get-products",
        "tags": [
          "Catalog"
        ],
        "responses": {
          "200": {
            "description": "Products",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "idProduct": {
                        "type": "integer"
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                },
                "example": [
                  {
                    "idProduct": 1,
                    "description": "Product 1"
                  },
                  {
                    "idProduct": 2,
                    "description": "Product 2"
                  },
                  {
                    "idProduct": 3,
                    "description": "Product 3"
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/product-items/{productId}/0": {
      "get": {
        "summary": "Product Items",
        "operationId": "webservice-get-product-items-productid-0",
        "tags": [
          "Catalog"
        ],
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "description": "Valor usado para substituir {productId} na rota.",
            "schema": {
              "type": "string",
              "example": "63"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Product Items",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "parent_sequence": {
                        "nullable": true
                      },
                      "options_sequence": {
                        "type": "integer"
                      },
                      "price": {
                        "type": "integer"
                      },
                      "sequence": {
                        "type": "integer"
                      },
                      "optionName": {
                        "type": "string"
                      },
                      "itemName": {
                        "type": "string"
                      },
                      "idProduct": {
                        "type": "integer"
                      },
                      "boundParentOption": {
                        "nullable": true
                      }
                    }
                  }
                },
                "example": [
                  {
                    "parent_sequence": null,
                    "options_sequence": 956,
                    "price": 24,
                    "sequence": 1991,
                    "optionName": "First Option",
                    "itemName": "30 DIAS",
                    "idProduct": 44,
                    "boundParentOption": null
                  },
                  {
                    "parent_sequence": null,
                    "options_sequence": 956,
                    "price": 24,
                    "sequence": 1991,
                    "optionName": "Second Option",
                    "itemName": "30 DIAS",
                    "idProduct": 44,
                    "boundParentOption": null
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/product-items/all": {
      "get": {
        "summary": "ProductPrices",
        "operationId": "webservice-get-product-items-all",
        "tags": [
          "Catalog"
        ],
        "description": "Retorna todos os itens e preços de produtos disponíveis.",
        "responses": {
          "200": {
            "description": "ProductPrices",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "idProduct": {
                        "type": "integer"
                      },
                      "description": {
                        "type": "string"
                      },
                      "sequence": {
                        "type": "integer"
                      },
                      "price": {
                        "type": "integer"
                      },
                      "itemName": {
                        "type": "string"
                      }
                    }
                  }
                },
                "example": [
                  {
                    "idProduct": 140,
                    "description": "USA - COM INTERNET E LIGAÇÕES ILIMITADAS",
                    "sequence": 590,
                    "price": 20,
                    "itemName": "30 Dias 5GB EUA"
                  },
                  {
                    "idProduct": 140,
                    "description": "USA - COM INTERNET E LIGAÇÕES ILIMITADAS",
                    "sequence": 591,
                    "price": 20,
                    "itemName": "30 Dias 6GB EUA"
                  },
                  {
                    "idProduct": 140,
                    "description": "USA - COM INTERNET E LIGAÇÕES ILIMITADAS",
                    "sequence": 592,
                    "price": 20,
                    "itemName": "30 Dias 10GB EUA"
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/activations": {
      "post": {
        "summary": "Create Activation",
        "operationId": "webservice-post-activations-post",
        "tags": [
          "Activations"
        ],
        "description": "Cria uma ativação (eSIM ou chip físico).",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "description": "esim ou chip (chip físico)"
                  },
                  "dateActive": {
                    "type": "string",
                    "description": "Data de início do plano (AAAA-MM-DD)"
                  },
                  "idProduct": {
                    "type": "integer",
                    "description": "Produto escolhido no catálogo"
                  },
                  "chips": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "eid": {
                          "type": "string"
                        },
                        "imei": {
                          "type": "string"
                        }
                      }
                    },
                    "description": "Dados técnicos do chip (eid/imei/icc, conforme a operadora)"
                  },
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "sequence_item": {
                          "type": "integer"
                        }
                      }
                    },
                    "description": "Itens do pedido; cada um com sequence_item (id da variação)"
                  },
                  "name": {
                    "type": "string",
                    "description": "Nome do cliente final"
                  },
                  "email": {
                    "type": "string",
                    "description": "E-mail do cliente final"
                  },
                  "phone": {
                    "type": "string",
                    "description": "Telefone do cliente"
                  },
                  "document": {
                    "type": "string",
                    "description": "Documento do cliente"
                  },
                  "zipcode": {
                    "type": "string",
                    "description": "Endereço de entrega (chip físico)"
                  },
                  "city": {
                    "type": "string",
                    "description": "Endereço de entrega (chip físico)"
                  },
                  "state": {
                    "type": "string",
                    "description": "Endereço de entrega (chip físico)"
                  },
                  "number": {
                    "type": "string",
                    "description": "Endereço de entrega (chip físico)"
                  },
                  "address": {
                    "type": "string",
                    "description": "Endereço de entrega (chip físico)"
                  },
                  "neighborhood": {
                    "type": "string",
                    "description": "Endereço de entrega (chip físico)"
                  },
                  "complement": {
                    "type": "string",
                    "description": "Endereço de entrega (chip físico)"
                  }
                },
                "required": [
                  "type",
                  "dateActive",
                  "idProduct",
                  "chips",
                  "items",
                  "name",
                  "email"
                ]
              },
              "example": {
                "type": "esim",
                "dateActive": "2026-05-10",
                "idProduct": 90,
                "chips": [
                  {
                    "eid": "89852342022137421003",
                    "imei": "351756051523999"
                  }
                ],
                "items": [
                  {
                    "sequence_item": 411
                  }
                ],
                "name": "João Silva",
                "email": "joao.silva@example.com",
                "phone": "(11) 98765-4321",
                "document": "182.177.290-34",
                "zipcode": "01310-100",
                "city": "São Paulo",
                "state": "SP",
                "number": "1578",
                "address": "Avenida Paulista",
                "neighborhood": "Bela Vista",
                "complement": "Apartamento 1203"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Create Activation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "order": {
                      "type": "object",
                      "properties": {
                        "idOrder": {
                          "type": "integer"
                        },
                        "type": {
                          "type": "string"
                        },
                        "idProduct": {
                          "type": "integer"
                        },
                        "quantity": {
                          "type": "integer"
                        },
                        "chips": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "sequence": {
                                "type": "integer"
                              },
                              "ICC": {
                                "nullable": true
                              },
                              "EID": {
                                "type": "string"
                              },
                              "IMEI": {
                                "type": "string"
                              },
                              "IMEI2": {
                                "nullable": true
                              },
                              "pin": {
                                "nullable": true
                              },
                              "description": {
                                "type": "string"
                              },
                              "line": {
                                "nullable": true
                              },
                              "idOrder": {
                                "type": "integer"
                              },
                              "created_at": {
                                "type": "string"
                              },
                              "updated_at": {
                                "type": "string"
                              },
                              "pathQRCode": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "date_active": {
                          "type": "string"
                        },
                        "client": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "email": {
                              "type": "string"
                            }
                          }
                        },
                        "total_price": {
                          "type": "number"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "message": "Pedido realizado com sucesso!",
                  "order": {
                    "idOrder": 26660,
                    "type": "esim",
                    "idProduct": 90,
                    "quantity": 1,
                    "chips": [
                      {
                        "sequence": 27208,
                        "ICC": null,
                        "EID": "89852342022137421003",
                        "IMEI": "351756051523999",
                        "IMEI2": null,
                        "pin": null,
                        "description": "",
                        "line": null,
                        "idOrder": 26660,
                        "created_at": "2026-05-28T09:04:19-03:00",
                        "updated_at": "2026-05-28T09:04:19-03:00",
                        "pathQRCode": "https://portal.woo-fi.com/qr_codes/example.png"
                      }
                    ],
                    "date_active": "2026-05-10",
                    "client": {
                      "name": "João Silva",
                      "email": "joao.silva@example.com"
                    },
                    "total_price": 29.9
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "summary": "List Activations",
        "operationId": "webservice-get-activations-get",
        "tags": [
          "Activations"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "Parâmetro de consulta.",
            "schema": {
              "type": "string",
              "example": "1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List Activations",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "current_page": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "order_id": {
                            "type": "integer"
                          },
                          "seller_name": {
                            "nullable": true
                          },
                          "dealer_name": {
                            "type": "string"
                          },
                          "product": {
                            "type": "string"
                          },
                          "date": {
                            "type": "string"
                          },
                          "price": {
                            "type": "integer"
                          }
                        }
                      }
                    },
                    "first_page_url": {
                      "type": "string"
                    },
                    "from": {
                      "type": "integer"
                    },
                    "last_page": {
                      "type": "integer"
                    },
                    "last_page_url": {
                      "type": "string"
                    },
                    "links": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "url": {
                            "nullable": true
                          },
                          "label": {
                            "type": "string"
                          },
                          "active": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "next_page_url": {
                      "type": "string"
                    },
                    "path": {
                      "type": "string"
                    },
                    "per_page": {
                      "type": "integer"
                    },
                    "prev_page_url": {
                      "nullable": true
                    },
                    "to": {
                      "type": "integer"
                    },
                    "total": {
                      "type": "integer"
                    }
                  }
                },
                "example": {
                  "current_page": 1,
                  "data": [
                    {
                      "order_id": 1,
                      "seller_name": null,
                      "dealer_name": "Dealer 1",
                      "product": "Product 1",
                      "date": "13/05/2024",
                      "price": 24
                    },
                    {
                      "order_id": 2,
                      "seller_name": "Seller 1",
                      "dealer_name": "Dealer 1",
                      "product": "Product 1",
                      "date": "13/05/2024",
                      "price": 24
                    },
                    {
                      "order_id": 3,
                      "seller_name": null,
                      "dealer_name": "Dealer 1",
                      "product": "Product 1",
                      "date": "13/05/2024",
                      "price": 24
                    }
                  ],
                  "first_page_url": "https://portal.woo-fi.com/api/webservice/v1/activations?page=1",
                  "from": 1,
                  "last_page": 2,
                  "last_page_url": "https://portal.woo-fi.com/api/webservice/v1/activations?page=2",
                  "links": [
                    {
                      "url": null,
                      "label": "pagination.previous",
                      "active": false
                    },
                    {
                      "url": "https://portal.woo-fi.com/api/webservice/v1/activations?page=1",
                      "label": "1",
                      "active": true
                    },
                    {
                      "url": "https://portal.woo-fi.com/api/webservice/v1/activations?page=2",
                      "label": "2",
                      "active": false
                    },
                    {
                      "url": "https://portal.woo-fi.com/api/webservice/v1/activations?page=2",
                      "label": "pagination.next",
                      "active": false
                    }
                  ],
                  "next_page_url": "https://portal.woo-fi.com/api/webservice/v1/activations?page=2",
                  "path": "https://portal.woo-fi.com/api/webservice/v1/activations",
                  "per_page": 15,
                  "prev_page_url": null,
                  "to": 15,
                  "total": 29
                }
              }
            }
          }
        }
      }
    },
    "/activations/{id}": {
      "get": {
        "summary": "Get one activation",
        "operationId": "webservice-get-activations-id",
        "tags": [
          "Activations"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Valor usado para substituir {id} na rota.",
            "schema": {
              "type": "string",
              "example": "26660"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get one activation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "enabledEid": {
                      "type": "integer"
                    },
                    "enabledImei": {
                      "type": "integer"
                    },
                    "enabledLine": {
                      "type": "integer"
                    },
                    "enabledChip": {
                      "type": "integer"
                    },
                    "enabledPin": {
                      "type": "integer"
                    },
                    "enabledDescription": {
                      "type": "integer"
                    },
                    "order_id": {
                      "type": "integer"
                    },
                    "order_imei": {
                      "type": "string"
                    },
                    "order_imei2": {
                      "nullable": true
                    },
                    "external_id": {
                      "nullable": true
                    },
                    "order_icc": {
                      "nullable": true
                    },
                    "order_pin": {
                      "nullable": true
                    },
                    "order_eid": {
                      "type": "string"
                    },
                    "order_price": {
                      "type": "number"
                    },
                    "order_type": {
                      "type": "string"
                    },
                    "order_line": {
                      "nullable": true
                    },
                    "zipCode": {
                      "nullable": true
                    },
                    "address": {
                      "nullable": true
                    },
                    "number": {
                      "nullable": true
                    },
                    "neighborhood": {
                      "nullable": true
                    },
                    "city": {
                      "nullable": true
                    },
                    "state": {
                      "nullable": true
                    },
                    "complement": {
                      "nullable": true
                    },
                    "order_status": {
                      "type": "integer"
                    },
                    "order_qrcode": {
                      "type": "string"
                    },
                    "date_active": {
                      "type": "string"
                    },
                    "client_name": {
                      "type": "string"
                    },
                    "client_email": {
                      "type": "string"
                    },
                    "client_phone": {
                      "type": "string"
                    },
                    "client_document": {
                      "type": "string"
                    },
                    "product_name": {
                      "type": "string"
                    },
                    "quantity": {
                      "type": "integer"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "parent_description": {
                            "type": "string"
                          },
                          "item_description": {
                            "type": "string"
                          },
                          "value": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "chips": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "sequence": {
                            "type": "integer"
                          },
                          "ICC": {
                            "nullable": true
                          },
                          "IMEI": {
                            "type": "string"
                          },
                          "EID": {
                            "type": "string"
                          },
                          "pin": {
                            "nullable": true
                          },
                          "pathQRCode": {
                            "type": "string"
                          },
                          "qr_content": {
                            "nullable": true
                          },
                          "description": {
                            "type": "string"
                          },
                          "line": {
                            "nullable": true
                          },
                          "idOrder": {
                            "type": "integer"
                          },
                          "created_at": {
                            "type": "string"
                          },
                          "updated_at": {
                            "type": "string"
                          },
                          "origin": {
                            "type": "string"
                          },
                          "IMEI2": {
                            "nullable": true
                          },
                          "statusCMlink": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "enabledEid": 0,
                  "enabledImei": 0,
                  "enabledLine": 0,
                  "enabledChip": 1,
                  "enabledPin": 0,
                  "enabledDescription": 1,
                  "order_id": 26660,
                  "order_imei": "TEST",
                  "order_imei2": null,
                  "external_id": null,
                  "order_icc": null,
                  "order_pin": null,
                  "order_eid": "89852342022137421003",
                  "order_price": 2.22,
                  "order_type": "esim",
                  "order_line": null,
                  "zipCode": null,
                  "address": null,
                  "number": null,
                  "neighborhood": null,
                  "city": null,
                  "state": null,
                  "complement": null,
                  "order_status": 2,
                  "order_qrcode": "https://portal.woo-fi.com/qr_codes/example.png",
                  "date_active": "10/05/2026",
                  "client_name": "cliente",
                  "client_email": "cliente@example.com",
                  "client_phone": "(18) 99999-9999",
                  "client_document": "182.177.290-34",
                  "product_name": "1GB EUROPA - 30 DIAS RECARREGAVEL",
                  "quantity": 1,
                  "items": [
                    {
                      "parent_description": "Dias",
                      "item_description": "30 Dias",
                      "value": "2.22"
                    }
                  ],
                  "chips": [
                    {
                      "sequence": 27208,
                      "ICC": null,
                      "IMEI": "TEST",
                      "EID": "89852342022137421003",
                      "pin": null,
                      "pathQRCode": "https://portal.woo-fi.com/qr_codes/example.png",
                      "qr_content": null,
                      "description": "",
                      "line": null,
                      "idOrder": 26660,
                      "created_at": "2026-05-28T09:04:19-03:00",
                      "updated_at": "2026-05-28T09:04:19-03:00",
                      "origin": "Webservice",
                      "IMEI2": null,
                      "statusCMlink": ""
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/activations/cancel/{id}": {
      "post": {
        "summary": "Cancel Activation",
        "operationId": "webservice-post-activations-cancel-id",
        "tags": [
          "Activations"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Valor usado para substituir {id} na rota.",
            "schema": {
              "type": "string",
              "example": "25360"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Cancel Activation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Ativação cancelada com sucesso."
                }
              }
            }
          }
        }
      }
    },
    "/activations/consumption/order/{orderId}": {
      "get": {
        "summary": "Consumo por Pedido",
        "operationId": "webservice-get-activations-consumption-order-orderid",
        "tags": [
          "Activations"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "required": true,
            "description": "Valor usado para substituir {orderId} na rota.",
            "schema": {
              "type": "string",
              "example": "434"
            }
          }
        ],
        "description": "Consulta o consumo dos chips de um pedido. Todos os volumes vêm em **MB**. Em planos ilimitados, `unlimited=true` e franquia/saldo/percentual vêm `null`.\n\n> [!IMPORTANT]\n> Recurso restrito: a agência precisa ter a **consulta de consumo habilitada** (`allow_consumption_query`). Sem a permissão, a resposta é `403`.\n\nO `{orderId}` aceita o **id interno** ou o **external_id** do pedido.",
        "responses": {
          "200": {
            "description": "Consumo por Pedido",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string",
                      "description": "Presente apenas quando available=false; explica o motivo da indisponibilidade"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "order_id": {
                          "type": "integer",
                          "description": "ID interno do pedido"
                        },
                        "external_id": {
                          "type": "string",
                          "description": "Seu identificador do pedido (external_id)"
                        },
                        "activation_type": {
                          "type": "string",
                          "description": "esim ou chip"
                        },
                        "chips": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "sequence": {
                                "type": "integer",
                                "description": "ID do item (chip) no pedido"
                              },
                              "identifier": {
                                "type": "string",
                                "description": "ICC, EID ou IMEI2 usado na consulta (null se indisponível)"
                              },
                              "available": {
                                "type": "boolean",
                                "description": "Indica se o consumo pôde ser consultado"
                              },
                              "unlimited": {
                                "type": "boolean",
                                "description": "Plano ilimitado; quando true, allowance_mb, remaining_mb e usage_percentage vêm null"
                              },
                              "total_used_mb": {
                                "type": "integer",
                                "description": "Total consumido no ciclo, em MB"
                              },
                              "allowance_mb": {
                                "type": "integer",
                                "description": "Franquia do plano, em MB (null quando ilimitado)"
                              },
                              "remaining_mb": {
                                "type": "integer",
                                "description": "Saldo restante, em MB (null quando ilimitado)"
                              },
                              "usage_percentage": {
                                "type": "integer",
                                "description": "Percentual utilizado (null quando ilimitado)"
                              },
                              "last_usage_at": {
                                "type": "string",
                                "description": "Data do último consumo registrado (AAAA-MM-DD)"
                              },
                              "fetched_at": {
                                "type": "string",
                                "description": "Instante da consulta (ISO 8601)"
                              },
                              "history": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "date": {
                                      "type": "string",
                                      "description": "Dia do consumo no histórico (AAAA-MM-DD)"
                                    },
                                    "used_mb": {
                                      "type": "integer",
                                      "description": "Consumo do dia, em MB"
                                    }
                                  }
                                },
                                "description": "Consumo diário do ciclo"
                              }
                            }
                          },
                          "description": "Lista de chips do pedido com o consumo (campos abaixo)"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "status": "success",
                  "message": "Consumo consultado com sucesso.",
                  "data": {
                    "order_id": 25360,
                    "external_id": "434",
                    "activation_type": "chip",
                    "chips": [
                      {
                        "sequence": 25869,
                        "identifier": "8955010012345678909",
                        "available": true,
                        "unlimited": false,
                        "total_used_mb": 3584,
                        "allowance_mb": 5120,
                        "remaining_mb": 1536,
                        "usage_percentage": 70,
                        "last_usage_at": "2026-09-21",
                        "fetched_at": "2026-09-22T13:40:05-03:00",
                        "history": [
                          {
                            "date": "2026-09-21",
                            "used_mb": 820
                          },
                          {
                            "date": "2026-09-20",
                            "used_mb": 640
                          }
                        ]
                      }
                    ]
                  }
                }
              }
            }
          },
          "403": {
            "description": "Sem permissão",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string",
                      "description": "Presente apenas quando available=false; explica o motivo da indisponibilidade"
                    },
                    "data": {
                      "type": "array",
                      "items": {}
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Funcionalidade não habilitada para esta agência.",
                  "data": []
                }
              }
            }
          }
        }
      }
    },
    "/activations/consumption/chip/{identifier}": {
      "get": {
        "summary": "Consumo por Chip",
        "operationId": "webservice-get-activations-consumption-chip-identifier",
        "tags": [
          "Activations"
        ],
        "parameters": [
          {
            "name": "identifier",
            "in": "path",
            "required": true,
            "description": "Valor usado para substituir {identifier} na rota.",
            "schema": {
              "type": "string",
              "example": "8955010012345678909"
            }
          }
        ],
        "description": "Consulta o consumo de um único chip. Todos os volumes vêm em **MB**. Em planos ilimitados, `unlimited=true` e franquia/saldo/percentual vêm `null`.\n\n> [!IMPORTANT]\n> Recurso restrito: a agência precisa ter a **consulta de consumo habilitada** (`allow_consumption_query`). Sem a permissão, a resposta é `403`.\n\nO chip é resolvido pelo **ICC**, **EID**, **IMEI2** ou **número da linha**, sempre dentro do escopo da agência autenticada. Havendo mais de um item para o mesmo identificador, vence o mais recente.",
        "responses": {
          "200": {
            "description": "Consumo por Chip",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string",
                      "description": "Presente apenas quando available=false; explica o motivo da indisponibilidade"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "order_id": {
                          "type": "integer",
                          "description": "ID interno do pedido"
                        },
                        "external_id": {
                          "type": "string",
                          "description": "Seu identificador do pedido (external_id)"
                        },
                        "activation_type": {
                          "type": "string",
                          "description": "esim ou chip"
                        },
                        "chip": {
                          "type": "object",
                          "properties": {
                            "sequence": {
                              "type": "integer",
                              "description": "ID do item (chip) no pedido"
                            },
                            "identifier": {
                              "type": "string",
                              "description": "ICC, EID ou IMEI2 usado na consulta (null se indisponível)"
                            },
                            "available": {
                              "type": "boolean",
                              "description": "Indica se o consumo pôde ser consultado"
                            },
                            "unlimited": {
                              "type": "boolean",
                              "description": "Plano ilimitado; quando true, allowance_mb, remaining_mb e usage_percentage vêm null"
                            },
                            "total_used_mb": {
                              "type": "integer",
                              "description": "Total consumido no ciclo, em MB"
                            },
                            "allowance_mb": {
                              "type": "integer",
                              "description": "Franquia do plano, em MB (null quando ilimitado)"
                            },
                            "remaining_mb": {
                              "type": "integer",
                              "description": "Saldo restante, em MB (null quando ilimitado)"
                            },
                            "usage_percentage": {
                              "type": "integer",
                              "description": "Percentual utilizado (null quando ilimitado)"
                            },
                            "last_usage_at": {
                              "type": "string",
                              "description": "Data do último consumo registrado (AAAA-MM-DD)"
                            },
                            "fetched_at": {
                              "type": "string",
                              "description": "Instante da consulta (ISO 8601)"
                            },
                            "history": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "date": {
                                    "type": "string",
                                    "description": "Dia do consumo no histórico (AAAA-MM-DD)"
                                  },
                                  "used_mb": {
                                    "type": "integer",
                                    "description": "Consumo do dia, em MB"
                                  }
                                }
                              },
                              "description": "Consumo diário do ciclo"
                            }
                          },
                          "description": "Consumo do chip (campos abaixo)"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "status": "success",
                  "message": "Consumo consultado com sucesso.",
                  "data": {
                    "order_id": 25360,
                    "external_id": "434",
                    "activation_type": "chip",
                    "chip": {
                      "sequence": 25869,
                      "identifier": "8955010012345678909",
                      "available": true,
                      "unlimited": false,
                      "total_used_mb": 3584,
                      "allowance_mb": 5120,
                      "remaining_mb": 1536,
                      "usage_percentage": 70,
                      "last_usage_at": "2026-09-21",
                      "fetched_at": "2026-09-22T13:40:05-03:00",
                      "history": [
                        {
                          "date": "2026-09-21",
                          "used_mb": 820
                        },
                        {
                          "date": "2026-09-20",
                          "used_mb": 640
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Sem permissão",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string",
                      "description": "Presente apenas quando available=false; explica o motivo da indisponibilidade"
                    },
                    "data": {
                      "type": "array",
                      "items": {}
                    }
                  }
                },
                "example": {
                  "status": "error",
                  "message": "Funcionalidade não habilitada para esta agência.",
                  "data": []
                }
              }
            }
          }
        }
      }
    },
    "/get-tax/{uf}": {
      "get": {
        "summary": "Get Tax",
        "operationId": "webservice-get-get-tax-uf",
        "tags": [
          "Activations"
        ],
        "parameters": [
          {
            "name": "uf",
            "in": "path",
            "required": true,
            "description": "Valor usado para substituir {uf} na rota.",
            "schema": {
              "type": "string",
              "example": "sp"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Get Tax",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "sedex": {
                      "type": "integer"
                    },
                    "pac": {
                      "type": "number"
                    }
                  }
                },
                "example": {
                  "sedex": 13,
                  "pac": 5.9
                }
              }
            }
          }
        }
      }
    },
    "/current-balance": {
      "get": {
        "summary": "Current Balance",
        "operationId": "webservice-get-current-balance",
        "tags": [
          "Credit"
        ],
        "responses": {
          "200": {
            "description": "Current Balance",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "current_balance": {
                      "type": "number"
                    }
                  }
                },
                "example": {
                  "current_balance": 8661.15
                }
              }
            }
          }
        }
      }
    },
    "/credit-history": {
      "get": {
        "summary": "Credit History",
        "operationId": "webservice-get-credit-history",
        "tags": [
          "Credit"
        ],
        "responses": {
          "200": {
            "description": "Credit History",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "date": {
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      },
                      "approved": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      }
                    }
                  }
                },
                "example": [
                  {
                    "date": "16/11/2023 18:21",
                    "value": "5.00",
                    "approved": "Não aprovado",
                    "type": "Stripe"
                  },
                  {
                    "date": "16/11/2023 20:21",
                    "value": "9.00",
                    "approved": "Não aprovado",
                    "type": "Stripe"
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/credit-statement": {
      "get": {
        "summary": "Credit Statement",
        "operationId": "webservice-get-credit-statement",
        "tags": [
          "Credit"
        ],
        "parameters": [
          {
            "name": "initial_date",
            "in": "query",
            "required": false,
            "description": "Data inicial no formato YYYY-MM-DD (opcional, padrão mês atual)",
            "schema": {
              "type": "string",
              "example": "2026-07-01"
            }
          },
          {
            "name": "final_date",
            "in": "query",
            "required": false,
            "description": "Data final no formato YYYY-MM-DD (opcional, padrão mês atual)",
            "schema": {
              "type": "string",
              "example": "2026-07-31"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Status da venda (opcional: Aprovado, Não aprovado, all)",
            "schema": {
              "type": "string",
              "example": "Aprovado"
            }
          }
        ],
        "description": "Retorna o extrato de vendas e débitos de ativações efetuados pela agência no período selecionado.",
        "responses": {
          "200": {
            "description": "Credit Statement",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "idCharge": {
                        "type": "integer"
                      },
                      "idOrder": {
                        "type": "integer"
                      },
                      "date": {
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string"
                      }
                    }
                  }
                },
                "example": [
                  {
                    "idCharge": 1541,
                    "idOrder": 3021,
                    "date": "26/07/2026 10:15",
                    "value": "45.00",
                    "description": "Débito ref. Ativação de Pedido #3021",
                    "status": "Aprovado"
                  },
                  {
                    "idCharge": 1538,
                    "idOrder": 3015,
                    "date": "25/07/2026 18:40",
                    "value": "90.00",
                    "description": "Débito ref. Ativação de Pedido #3015",
                    "status": "Aprovado"
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/charge": {
      "post": {
        "summary": "Create Charge",
        "operationId": "webservice-post-charge",
        "tags": [
          "Credit"
        ],
        "description": "Gera uma cobrança para recarregar a carteira. Para **Stripe**, a resposta traz `stripe_url` (link de checkout). Para **Ebanx**, informe `type` e, em cartão, os campos `card_*`.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "typePayment": {
                    "type": "string",
                    "description": "Gateway: stripe ou ebanx"
                  },
                  "price": {
                    "type": "integer",
                    "description": "Valor da recarga (respeita o mínimo do gateway)"
                  },
                  "instalments": {
                    "type": "string",
                    "description": "Parcelas"
                  }
                },
                "required": [
                  "typePayment",
                  "price"
                ]
              },
              "example": {
                "typePayment": "stripe",
                "price": 100,
                "instalments": "1"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Ebanx",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "payment_method": {
                      "type": "string"
                    },
                    "transaction_id": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "status": "success",
                  "payment_method": "ebanx_creditcard",
                  "transaction_id": "818192839280192381231",
                  "message": "Pagamento aprovado com sucesso!"
                }
              }
            }
          },
          "201": {
            "description": "Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "resp": {
                          "type": "object",
                          "properties": {
                            "price": {
                              "type": "string"
                            },
                            "finalPrice": {
                              "type": "number"
                            },
                            "typePayment": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "card_name": {
                              "type": "string"
                            },
                            "card_number": {
                              "type": "string"
                            },
                            "expiration": {
                              "type": "string"
                            },
                            "card_cvv": {
                              "type": "string"
                            },
                            "country": {
                              "type": "string"
                            },
                            "idUser": {
                              "type": "integer"
                            },
                            "idDealer": {
                              "type": "integer"
                            },
                            "people": {
                              "type": "object",
                              "properties": {
                                "idPeople": {
                                  "type": "integer"
                                },
                                "name": {
                                  "type": "string"
                                },
                                "birthdate": {
                                  "type": "string"
                                },
                                "email": {
                                  "type": "string"
                                },
                                "phone": {
                                  "type": "string"
                                },
                                "cpfCnpj": {
                                  "type": "string"
                                },
                                "zipCode": {
                                  "type": "string"
                                },
                                "address": {
                                  "type": "string"
                                },
                                "number": {
                                  "type": "string"
                                },
                                "neighborhood": {
                                  "type": "string"
                                },
                                "photo": {
                                  "type": "string"
                                },
                                "active": {
                                  "type": "integer"
                                },
                                "juridical": {
                                  "type": "integer"
                                },
                                "created_at": {
                                  "nullable": true
                                },
                                "updated_at": {
                                  "nullable": true
                                },
                                "responsible": {
                                  "type": "string"
                                },
                                "phone_responsible": {
                                  "type": "string"
                                },
                                "userActive": {
                                  "type": "integer"
                                },
                                "idUf": {
                                  "nullable": true
                                },
                                "idCity": {
                                  "nullable": true
                                },
                                "city_name": {
                                  "type": "string"
                                },
                                "uf_name": {
                                  "type": "string"
                                },
                                "ip": {
                                  "nullable": true
                                }
                              }
                            },
                            "payment_id": {
                              "type": "string"
                            },
                            "ebanx_status": {
                              "type": "string"
                            }
                          }
                        },
                        "payment": {
                          "type": "object",
                          "properties": {
                            "status": {
                              "type": "integer"
                            },
                            "phrase": {
                              "type": "string"
                            },
                            "body": {
                              "type": "object",
                              "properties": {
                                "hash": {
                                  "type": "string"
                                },
                                "country": {
                                  "type": "string"
                                },
                                "merchant_payment_code": {
                                  "type": "string"
                                },
                                "order_number": {
                                  "nullable": true
                                },
                                "status": {
                                  "type": "string"
                                },
                                "status_date": {
                                  "nullable": true
                                },
                                "open_date": {
                                  "type": "string"
                                },
                                "confirm_date": {
                                  "nullable": true
                                },
                                "transfer_date": {
                                  "nullable": true
                                },
                                "amount_br": {
                                  "type": "string"
                                },
                                "amount_ext": {
                                  "type": "string"
                                },
                                "amount_iof": {
                                  "type": "string"
                                },
                                "currency_rate": {
                                  "type": "string"
                                },
                                "currency_ext": {
                                  "type": "string"
                                },
                                "due_date": {
                                  "type": "string"
                                },
                                "instalments": {
                                  "type": "string"
                                },
                                "payment_type_code": {
                                  "type": "string"
                                },
                                "redirect_url": {
                                  "type": "string"
                                },
                                "pre_approved": {
                                  "type": "boolean"
                                },
                                "capture_available": {
                                  "nullable": true
                                },
                                "pix": {
                                  "type": "object",
                                  "properties": {
                                    "qr_code_value": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "body_status": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "redirect": {
                      "type": "string"
                    },
                    "class": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Pedido realizado com sucesso!",
                  "status": "success",
                  "data": {
                    "resp": {
                      "price": "98.9",
                      "finalPrice": 112.11,
                      "typePayment": "ebanx",
                      "type": "pix",
                      "name": "People Name",
                      "card_name": "People Card Name",
                      "card_number": "4444 4444 4444 4444",
                      "expiration": "01/34",
                      "card_cvv": "111",
                      "country": "Brasil",
                      "idUser": 1,
                      "idDealer": 1,
                      "people": {
                        "idPeople": 1,
                        "name": "People Name",
                        "birthdate": "2023-06-14",
                        "email": "example@email.com",
                        "phone": "(22) 222222-2222",
                        "cpfCnpj": "333.333.333-33",
                        "zipCode": "111111-1111",
                        "address": "Rua de exemplo",
                        "number": "123",
                        "neighborhood": "Bairro de exemplo",
                        "photo": "",
                        "active": 1,
                        "juridical": 1,
                        "created_at": null,
                        "updated_at": null,
                        "responsible": "Pessoa",
                        "phone_responsible": "(11) 11111-1111",
                        "userActive": 1,
                        "idUf": null,
                        "idCity": null,
                        "city_name": "Catanduva",
                        "uf_name": "SP",
                        "ip": null
                      },
                      "payment_id": "818192839280192381231",
                      "ebanx_status": "1"
                    },
                    "payment": {
                      "status": 200,
                      "phrase": "OK",
                      "body": {
                        "hash": "akhsdkjahdgakjhdgasdjkshadgkjahda",
                        "country": "br",
                        "merchant_payment_code": "1231231_121312",
                        "order_number": null,
                        "status": "11",
                        "status_date": null,
                        "open_date": "2024-05-20 17:03:08",
                        "confirm_date": null,
                        "transfer_date": null,
                        "amount_br": "656.08",
                        "amount_ext": "112.11",
                        "amount_iof": "2.48",
                        "currency_rate": "5.8300",
                        "currency_ext": "USD",
                        "due_date": "2024-05-20",
                        "instalments": "1",
                        "payment_type_code": "pix",
                        "redirect_url": "",
                        "pre_approved": false,
                        "capture_available": null,
                        "pix": {
                          "qr_code_value": ""
                        }
                      },
                      "body_status": "1"
                    }
                  },
                  "redirect": "",
                  "class": "alert-success"
                }
              }
            }
          }
        }
      }
    },
    "/charge/stripe/check-success": {
      "get": {
        "summary": "Check Stripe success",
        "operationId": "webservice-get-charge-stripe-check-success",
        "tags": [
          "Credit"
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "query",
            "required": true,
            "description": "ID da sessão de checkout retornada pelo charge",
            "schema": {
              "type": "string",
              "example": "cs_test_a1Zj2XFnQGzd0PaeXxtBcByyD16r9fi6vPaX22bwUVY0Tu5q8SUU2JliCX"
            }
          }
        ],
        "description": "Confirma o resultado de um pagamento Stripe pela sessão de checkout.",
        "responses": {
          "200": {
            "description": "Check Stripe success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "boolean"
                    }
                  }
                },
                "example": {
                  "status": true
                }
              }
            }
          }
        }
      }
    },
    "/charge/stripe/last-id": {
      "get": {
        "summary": "Last Stripe ID",
        "operationId": "webservice-get-charge-stripe-last-id",
        "tags": [
          "Credit"
        ],
        "responses": {
          "200": {
            "description": "Last Stripe ID",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "payment_id": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "payment_id": "cs_test_a1Zj2XFnQGzd0PaeXxtBcByyD16r9fi6vPaX22bwUVY0Tu5q8SUU2JliCX"
                }
              }
            }
          }
        }
      }
    },
    "/dealer/info-values/{month}/{year}": {
      "get": {
        "summary": "Info Values",
        "operationId": "webservice-get-dealer-info-values-month-year",
        "tags": [
          "Dashboard"
        ],
        "parameters": [
          {
            "name": "month",
            "in": "path",
            "required": true,
            "description": "Valor usado para substituir {month} na rota.",
            "schema": {
              "type": "string",
              "example": "11"
            }
          },
          {
            "name": "year",
            "in": "path",
            "required": true,
            "description": "Valor usado para substituir {year} na rota.",
            "schema": {
              "type": "string",
              "example": "2025"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Info Values",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "current_balance": {
                      "type": "number"
                    },
                    "total_activations": {
                      "type": "number"
                    }
                  }
                },
                "example": {
                  "current_balance": 8661.15,
                  "total_activations": 696.12
                }
              }
            }
          }
        }
      }
    },
    "/dealer/top-sellers/{month}/{year}": {
      "get": {
        "summary": "Top Sellers",
        "operationId": "webservice-get-dealer-top-sellers-month-year",
        "tags": [
          "Dashboard"
        ],
        "parameters": [
          {
            "name": "month",
            "in": "path",
            "required": true,
            "description": "Valor usado para substituir {month} na rota.",
            "schema": {
              "type": "string",
              "example": "11"
            }
          },
          {
            "name": "year",
            "in": "path",
            "required": true,
            "description": "Valor usado para substituir {year} na rota.",
            "schema": {
              "type": "string",
              "example": "2025"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Top Sellers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "total_price": {
                        "type": "number"
                      }
                    }
                  }
                },
                "example": [
                  {
                    "name": "Seller 1",
                    "total_price": 380.64
                  },
                  {
                    "name": "Seller 2",
                    "total_price": 200.64
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/dealer/top-activations/{month}/{year}": {
      "get": {
        "summary": "Top Activations",
        "operationId": "webservice-get-dealer-top-activations-month-year",
        "tags": [
          "Dashboard"
        ],
        "parameters": [
          {
            "name": "month",
            "in": "path",
            "required": true,
            "description": "Valor usado para substituir {month} na rota.",
            "schema": {
              "type": "string",
              "example": "11"
            }
          },
          {
            "name": "year",
            "in": "path",
            "required": true,
            "description": "Valor usado para substituir {year} na rota.",
            "schema": {
              "type": "string",
              "example": "2025"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Top Activations",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "seller_name": {
                        "type": "string"
                      },
                      "dealer_name": {
                        "type": "string"
                      },
                      "price": {
                        "type": "number"
                      }
                    }
                  }
                },
                "example": [
                  {
                    "seller_name": "Seller",
                    "dealer_name": "Dealer 1",
                    "price": 356.64
                  },
                  {
                    "seller_name": null,
                    "dealer_name": "Dealer 3",
                    "price": 267.48
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/dealer/activations-month/{month}/{year}": {
      "get": {
        "summary": "Activations Month",
        "operationId": "webservice-get-dealer-activations-month-month-year",
        "tags": [
          "Dashboard"
        ],
        "parameters": [
          {
            "name": "month",
            "in": "path",
            "required": true,
            "description": "Valor usado para substituir {month} na rota.",
            "schema": {
              "type": "string",
              "example": "11"
            }
          },
          {
            "name": "year",
            "in": "path",
            "required": true,
            "description": "Valor usado para substituir {year} na rota.",
            "schema": {
              "type": "string",
              "example": "2025"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Activations Month",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "status": {
                        "type": "string"
                      },
                      "total": {
                        "type": "integer"
                      },
                      "percentage": {
                        "type": "string"
                      }
                    }
                  }
                },
                "example": [
                  {
                    "status": "Aberto",
                    "total": 3,
                    "percentage": "75.00"
                  },
                  {
                    "status": "Concluído",
                    "total": 1,
                    "percentage": "25.00"
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/dealer/total-sellers": {
      "get": {
        "summary": "Total Sellers",
        "operationId": "webservice-get-dealer-total-sellers",
        "tags": [
          "Dashboard"
        ],
        "responses": {
          "200": {
            "description": "Total Sellers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "total": {
                      "type": "integer"
                    }
                  }
                },
                "example": {
                  "total": 2
                }
              }
            }
          }
        }
      }
    },
    "/dealer/sellers": {
      "get": {
        "summary": "Sellers",
        "operationId": "webservice-get-dealer-sellers",
        "tags": [
          "Dashboard"
        ],
        "responses": {
          "200": {
            "description": "Sellers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "email": {
                        "type": "string"
                      },
                      "sell": {
                        "type": "number"
                      },
                      "commission": {
                        "type": "number"
                      }
                    }
                  }
                },
                "example": [
                  {
                    "name": "Seller 1",
                    "email": "seller1@email.com",
                    "sell": 421.64,
                    "commission": 42.16
                  },
                  {
                    "name": "Seller 2",
                    "email": "seller2@email.com",
                    "sell": 100.64,
                    "commission": 10.16
                  }
                ]
              }
            }
          }
        }
      }
    }
  }
}