Autenticação

Para usar a API MarketPlace, você precisa de uma chave de API válida. A autenticação é feita através do header Authorization.

curl
curl -X GET https://chipweb-voyage.com.br/api/api_MarketPlace.php?Operator=505

Endpoints Disponíveis

A API oferece os seguintes endpoints para consultar pacotes de viagem:

GET /api/api_MarketPlace.php

Retorna uma lista de pacotes de viagem para um operador específíco

Parâmetros:

  • Operator (obrigatório): Código do operador (ex: 505)
GET /api/api_MarketPlace_Details.php

Retorna informações detalhadas de um pacote turístico específíco

Parâmetros:

  • Operator (obrigatório): Código do operador (ex: 505)
  • Sale (obrigatório): Número do pacote (ex: 44950)

Retorna:

  • Imagens do pacote
  • Descrições detalhadas
  • Itinerário dia a dia
  • Opções de hotéis com preços
  • Datas de saída disponíveis

Fazendo Requisições

As requisições devem ser feitas usando o método HTTP GET. Aqui estão alguns exemplos:

JavaScript (Fetch API)

javascript
fetch('https://chipweb-voyage.com.br/api/api_MarketPlace.php?Operator=505')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Erro:', error));

Python

python
import requests

url = 'https://chipweb-voyage.com.br/api/api_MarketPlace.php'
params = {'Operator': '505'}

response = requests.get(url, params=params)
data = response.json()
print(data)

Entendendo as Respostas

A API retorna os dados em formato JSON. A resposta contém um array de operadores com seus respectivos pacotes:

json
{
  "Operator": [
    {
      "Operator_Code": "505",
      "Operator_Name": "Operadora XYZ",
      "Operator_Logo": "https://...",
      "Sales": [
        {
          "Number": "44950",
          "Code": "4.10.022.0063.25",
          "Title": "Extensão Tailândia - Krabi",
          "Destination": "Tailândia",
          "Nights": "3",
          "FareDBL": "230.00",
          "Currency_Symbol": "U$",
          "ValidiyFrom": "2025-01-01",
          "ValidityUntil": "2026-10-31"
        }
      ]
    }
  ]
}

Tratamento de Erros

A API pode retornar os seguintes códigos de erro:

Código Significado Solução
400 Requisição Inválida Verifique os parâmetros enviados
401 Não Autorizado Verifique sua chave de API
404 Não Encontrado O operador solicitado não existe
500 Erro Interno do Servidor Tente novamente mais tarde

Exemplos Práticos

Exemplo 1: Listar todos os pacotes de um operador

javascript
async function getPackages(operatorCode) {
  try {
    const response = await fetch(
      `https://chipweb-voyage.com.br/api/api_MarketPlace.php?Operator=${operatorCode}`
    );
    const data = await response.json();
    const packages = data.Operator[0].Sales;
    
    packages.forEach(pkg => {
      console.log(`${pkg.Title} - ${pkg.FareDBL} ${pkg.Currency_Symbol}`);
    });
  } catch (error) {
    console.error('Erro ao buscar pacotes:', error);
  }
}

getPackages('505');

Exemplo 2: Filtrar pacotes por destino

javascript
async function getPackagesByDestination(operatorCode, destination) {
  const response = await fetch(
    `https://chipweb-voyage.com.br/api/api_MarketPlace.php?Operator=${operatorCode}`
  );
  const data = await response.json();
  const packages = data.Operator[0].Sales;
  
  const filtered = packages.filter(pkg => 
    pkg.Destination.toLowerCase().includes(destination.toLowerCase())
  );
  
  return filtered;
}

getPackagesByDestination('505', 'Tailândia').then(packages => {
  console.log('Pacotes encontrados:', packages);
});