GithubHelp home page GithubHelp logo

core-qp-laravel's Introduction

Core-qp-laravel

Ambiente de Desenvolvimento

  • Composer: 2.0.9
  • PHP: 8.2.8
  • Laravel: 9.19

Instalação

  1. Clone o repositório do projeto:
    git clone https://github.com/paulovitorw1/core-plan-marketing.git
  2. Instale as dependências do projeto:
    composer install
  3. Copie o arquivo de configuração .env:
    cp .env.example .env
  4. Configure o arquivo .env com as informações da API:
    sed -i 's/API_BASE_URL=.*/API_BASE_URL=url_api/' .env
    sed -i 's/API_USERNAME=.*/API_USERNAME=seu_usuario/' .env
    sed -i 's/API_PASSWORD=.*/API_PASSWORD=sua_senha/' .env
  5. Gere a chave da aplicação:
    php artisan key:generate

Executando o projeto

  1. Inicie o servidor de desenvolvimento do Laravel na porta: 7667:
    php artisan serve --port=7667 
  2. Acesse o projeto no navegador através do endereço http://localhost:7667:

Documentação da API

GET /api/cities

Este endpoint retorna uma lista de cidades.

Parâmetros da solicitação

Nenhum.

Exemplo de resposta

URL: /api/cities

{
  "data": [
    {
      "id": "ROD_3762",
      "name": "Punta Del Este, UY",
      "url": "punta-del-este-uy",
      "type": "station"
    },
    {
      "id": "ROD_3764",
      "name": "Itaberaba",
      "url": "itaberaba-ba",
      "type": "station"
    }
  ],
  "response": {
    "success": true,
    "message": "Cidades listadas com sucesso"
  }
}

POST /api/search/passage

Este endpoint permite pesquisar passagens com base nos critérios fornecidos.

Parâmetros da solicitação

O corpo da solicitação deve conter os seguintes parâmetros:

  • from (string): O nome da cidade de partida.
  • to (string): O nome da cidade de chegada.
  • travelDate (string): A data da viagem no formato "YYYY-MM-DD".
  • nameDepartureCity (string): O nome da cidade de partida.
  • nameArrivalCity (string): O nome da cidade de chegada.

Exemplo de solicitação

URL: /api/search/passage

{
  "from": "São Paulo, SP",
  "to": "Belo Horizonte, MG",
  "travelDate": "2023-08-08",
  "nameDepartureCity": "São Paulo, SP - Barra Funda",
  "nameArrivalCity": "Belo Horizonte, MG - Gov. Israel Pinto"
}

Exemplo de resposta (caso de sucesso)

{
  "data": [
    {
      "id": "1_8ab3b78a799a3f1356dff5138ca85cce",
      "company": {
        "id": "2",
        "name": "1001"
      },
      "from": {
        "id": "ROD_898",
        "name": "São Paulo, SP - Barra Funda"
      },
      "to": {
        "id": "ROD_61",
        "name": "Belo Horizonte, MG - Gov. Israel Pinto"
      },
      "availableSeats": 18,
      "withBPE": true,
      "departure": {
        "date": "2023-08-08",
        "time": "04:30:00"
      },
      "arrival": {
        "date": "2023-08-08",
        "time": "11:55:00"
      },
      "travelDuration": 26700,
      "seatClass": "SEMI LEITO",
      "price": {
        "seatPrice": 100,
        "taxPrice": 18,
        "price": 118
      },
      "insurance": 9.95,
      "allowCanceling": true,
      "travelCancellationLimitDate": "2023-08-08 00:30:00"
    }
  ],
  "response": {
    "success": true,
    "message": "Passagens listadas com sucesso"
  }
}

Exemplo de resposta (caso de erro)

Status de resposta: 422 Unprocessable Entity

{
  "response": {
    "success": false,
    "message": "Passagens disponíveis somente para as cidades de SP e PR.",
    "message_error": "Tickets available only for cities in SP and PR"
  }
}

POST /api/search/seats

Este endpoint permite pesquisar assentos disponíveis para um determinado ID de viagem.

Parâmetros da solicitação

O corpo da solicitação deve conter o seguinte parâmetro:

  • travelId (string): O ID da viagem.

Exemplo de solicitação

URL: /api/search/seats

{
  "travelId": "1_8ab3b78a799a3f1356dff5138ca85cce"
}

Exemplo de resposta

{
  "data": [
    {
      "seat": "01",
      "position": {
        "x": 1,
        "y": 0,
        "z": 0
      },
      "occupied": true,
      "type": "seat"
    }
  ],
  "response": {
    "success": true,
    "message": "Assentos listados com sucesso."
  }
}

core-qp-laravel's People

Contributors

paulovitorw1 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.