Back to top
Overview
Login
Login via e-mail e senha
Login via credenciais de aplicativo
Atualizar token
Passeios
Listar Passeios
Detalhar Passeio
Combos
Listar Combos
Atividades
Listar Atividades
Visualizar Atividade
Check-In Atividade
Dias Disponíveis
Listar Dias Disponíveis
Horários Disponíveis
Faixas Etárias
Listar Faixas Etárias
Cupons
Obter Informações
Criar
Manipulando
Atualizar
Apagar
validar Cupom
Destinos
Listar Destinos
Detalhar Pedidos
Carrinhos
Listar Carrinhos
Operações com um Carrinho
Detalhar Carrinho
Apagar Carrinho
Registrar Carrinho
Pedidos
Listar Pedidos
Detalhar Pedidos
Registrar Pedido
Aprovar Pedido
Processar Pagamento
Ícones do Paytour
Listar Ícones
Fotos de Passeios
Fotos
Listar Fotos
Cadastrar Foto
Manipular uma Foto
Editar Foto
Apagar Foto
Ordenar Fotos
Hospedagens
Listar Hospedagens
Detalhar Hospedagem
Afiliados
Listar Afiliados
Detalhar Afiliado
Webhooks
Webhooks
Listar Webhooks
Registrar Webhook
Apagar Webhook
Faixa Etária
Criar
Listar
Manipulando
Obter
Atualizar
Apagar
Formulários
Listar
Obter
Opcionais
Criar
Listar
Manipulando
Obter
Atualizar
Apagar
Passeios
Criar
Listar
Manipulando
Obter
Atualizar
Apagar
Períodos Sazonais
Criar
Listar
Manipulando
Obter
Atualizar
Apagar
https://api.paytour.com.br/v2

Paytour API V2
Overview ¶
Paytour ¶
O Paytour é uma plataforma de vendas de passeios e serviços turisticos. Nessa seção serão descritas as principais entidades que compõem o sistema e como elas se relacionam.

Passeio ¶
Toda loja possui passeios que, por usa vez, contém diversas informações como título, descrição, duração, termos de uso dentre outras. Estes passeios podem ser comprados para uma pessoa ou para várias, sendo necessário respeitar a disponibilidade do passeio, por exemplo, é possível que hajam apenas 3 vagas do dia 01, mas 5 vagas no dia 02. Não devem ser feitas vendas acima da disponibilidade do dia escolhido.

Disponibilidade ¶
Como dito anteriormente, a disponibilidade é uma entidade própria dentro do sistema e deve ser respeitada durante uma venda.
Ao cadastrar a disponibilidade para um passeio no sistema, o gerente pode escolher fazer o passeio todos os dias, apenas nos finais de semana, apenas durante um mês, etc. O gerente também cadastra quais horários existem disponíveis para se realizar o passeio, sendo alguns passeios realizados em diversos horários (com vagas exclusivas de cada horário), ou ele pode optar por cadastrar uma disponibilidade única para o dia todo caso o passeio só seja realizado uma vez ao dia, nesse caso, a quantidade de vagas será referente ao dia e não a um horário específico.

Faixa Etária ¶
O Paytour fornece ao gerente uma forma de categorizar a pessoa que fará o passeio através de faixas etárias.
Faixas etárias estão associadas ao momento da compra de um passeio. Além de informar dia e horário o cliente fornecerá qual sua faixa etária. O gerente, por sua vez, pode configurar preços diferentes de acordo com cada faixa, por exemplo, é possível cadastrar uma faixa gratuita para crianças, uma faixa com preço normal para adultos e uma faixa com preço um pouco abaixo no normal para idosos.
Também é possível cadastrar faixas etárias dependentes, por exemplo, se for configurada a faixa etária “crianças” como dependente, não deverá ser possível realizar a venda do passeio até que uma outra pessoa em uma faixa não dependente seja adicionada.

Observação ¶
Muitos clientes do Paytour usam o recurso de Faixas Etárias de uma forma diferente da que foi concebida inicialmente.
Por exemplo: Existem cliente que usam a faixa etária para diferenciar o tipo de carro que será usado no passeio. Ou seja, ao invés de Criança, Adulto e Idoso, as faixas etárias são Carro 4 lugares, Carro 6 lugares e Quadriculo 2 lugares.

Cupom de Desconto ¶
Uma vez que o pedido já está preenchido de passeios agora é possível adicionar um cupom de desconto que será aplicado ao valor final (Soma do valor de todos os passeios apliváveis mais opcionais se aplicável no pedido).
Considere como passeios aplicáveis: Passeios que não desobedecem as regras do cupom.
Existem dois tipos de cupom, os de valor absoluto e os de porcentagem.

Se o cupom é de porcentagem o desconto deve ser aplicado da forma:

Tome "valor" a soma do valor dos passeios aplicáveis do pedido mais o valor dos opcionais quando houver.
Tome "desconto" a porcentagem do desconto a ser aplicado.
O valor com desconto deve ser calculado da forma: valor \* (desconto/100)
Se o cupom é de valor absoluto o desconto deve ser aplicado da forma:

Tome "valor" a soma do valor dos passeios aplicáveis do pedido mais o valor dos opcionais quando houver.
Tome "desconto" o valor absoluto do desconto a ser aplicado.
O valor com desconto deve ser calculado da forma: valor – desconto
Existem seis regras que podem impedir a aplicação de um cupom:

Se todos passeios adicionados ao pedido são proibidos pela regra de produtos_excecao do cupom

Se todos passeios adicionados tem datas que desobedecem a regra de faixas_datas_invalidas do cupom

Se o valor da soma de todos os passeios aplicáveis mais os opcionais quando apicáveis não for maior ou igual a valor_minimo_compra

Se, após aplicado o desconto, o valor com desconto ficou negativo.

Se a data da venda estiver fora da validade do cupom (valido_de, valido_ate).

Se a quantidade de pedidos feitos pelo cliente for maior que o limite em quantidade_por_cliente

Devido a quantidade de regras é recomendado o uso do endpoint /cupons/validate que existe com o propósito de realizar os testes e aplicar o valor correto de desconto.

Fluxo de Venda ¶
Abaixo será apresentado um fluxo típico(recomendado) de uma venda através do Paytour.

Solicite ao cliente qual passeio ele deseja realizar.

Solicite ao cliente o dia, da lista de dias disponíveis, que ele deseja realizar o passeio.

Solicite o horário do passeio da lista de horários disponível.

Solicite qual a faixa etária das pessoas que vão ao passeio bem como quantas pessoas por faixa.

Adicione esse passeio agora preenchido a lista de passeios do pedido.

Pergunte ao cliente se ele deseja voltar ao passo 1 ou prosseguir ao passo 7.

Solicite cupom de desconto, forma de pagamento e número de parcelas (se aplicável).

Solicite Nome, E-mail, telefone e documento ao cliente.

Finalize a venda registrando o pedido no Paytour.

Login ¶
O primeiro passo para utilizar os endpoints da API é o login. Ele pode ser feito de duas formas:

Utilizando login e senha de usuário

Utilizando credenciais de aplicativo

Ambos os métodos utilizam o cabeçalho de autorização para realizarem a autenticação.

Login via e-mail e senha ¶
Para logar utilizando e-mail e senha, é necessário transformar o valor para o padrão utilizando no cabeçalho HTTP com o valor basic:

Concatene email e senha separados por dois pontos (email:senha)

Codifique o resultado do passo anterior em base64

Login via e-mail e senhaPOST/lojas/login{?grant_type,loja_id}
Example URI
POST https://api.paytour.com.br/v2/lojas/login?grant_type=password&loja_id=42
URI ParametersHide
loja_id
number (optional) Example: 42
Id da loja onde se deseja fazer login

grant_type
string (required) Example: password
Tipo de login

RequestHide
Headers
Authorization: Basic <credenciais-codificadas>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"access_token": "xxxxxxxxxx",
"expires_in": 1585937173,
"token_type": "bearer",
"refresh_token": "xxxxxx",
"usuario": {
"id": "42",
"loja_id": "42",
"nome": "Nome do Usuário Logado",
"email": "gerente_empresa@gmail.com",
"data_hora_cadastro": 1495162800
},
"loja": {
"id": "42",
"nome_loja": "Nome da Empresa",
"title_loja": "Nome da Empresa extendido",
"url": "nome_empresa",
"telefone": "(84) 9999-9999",
"whatsapp": "(84) 98888-8888",
"email_contato": "contato@example.com.br",
"nome_razao": "Nome Razão Social da empresa",
"tipo_pessoa": "juridica",
"cpf_cnpj": "00.000.000\\/0000-00",
"moeda": "BRL",
"cep": "00000-000",
"endereco": "Rua xxxx",
"numero": "42",
"complemento": "",
"bairro": "xxx",
"cidade": "Natal",
"uf": "RN"
}
}
Login via credenciais de aplicativo ¶
O login via credenciais de aplicativo funciona de forma semelhante ao login via e-mail e senha. Deve-se usar o app_key no lugar do e-mail e o app_secret no lugar da senha:

Concatene app_key e app_secret separados por dois pontos (app_key:app_secret)

Codifique o resultado do passo anterior em base64

Login via credenciais de aplicativoPOST/lojas/login?grant_type=application
Example URI
POST https://api.paytour.com.br/v2/lojas/login?grant_type=application
RequestHide
Headers
Authorization: Basic <credenciais-codificadas>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"access_token": "xxxxxxxxxx",
"expires_in": 1585937173,
"token_type": "bearer",
"refresh_token": "xxxxxx",
"aplicativo": {
"id": "42",
"loja_id": "42",
"nome": "Nome do Aplicativo",
},
"loja": {
"id": "42",
"nome_loja": "Nome da Empresa",
"title_loja": "Nome da Empresa extendido",
"url": "nome_empresa",
"telefone": "(84) 9999-9999",
"whatsapp": "(84) 98888-8888",
"email_contato": "contato@example.com.br",
"nome_razao": "Nome Razão Social da empresa",
"tipo_pessoa": "juridica",
"cpf_cnpj": "00.000.000\\/0000-00",
"moeda": "BRL",
"cep": "00000-000",
"endereco": "Rua xxxx",
"numero": "42",
"complemento": "",
"bairro": "xxx",
"cidade": "Natal",
"uf": "RN"
}
}
Atualizando o Token ¶
O refresh_token é utilizado para conseguir um novo token de autenticação do servidor, sem a necessidade do usuário ter que informar login e senha novamente. Após o access_token expirar (o timestamp da expiração está no campo expires_in), é necessário fazer outra requisição de login ao servidor passado o refresh_token no cabeçalho Authorization.
Diferente do access_token, o refresh_token tem validade de 15 dias. Este é o tempo que um usuário pode ficar logado no aplicativo sem acessá-lo, por exemplo.

Atualizar tokenPOST/lojas/login?grant_type=refresh_token
Example URI
POST https://api.paytour.com.br/v2/lojas/login?grant_type=refresh_token
RequestHide
Body
refresh_token: xxxxxx
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"access_token": "xxxxxxxxxx",
"expires_in": 1585937173,
"token_type": "bearer",
"refresh_token": "xxxxxx",
"usuario": {
"id": "42",
"loja_id": "42",
"nome": "Nome do Usuário Logado",
"email": "gerente_empresa@gmail.com",
"data_hora_cadastro": 1495162800
},
"loja": {
"id": "42",
"nome_loja": "Nome da Empresa",
"title_loja": "Nome da Empresa extendido",
"url": "nome_empresa",
"telefone": "(84) 9999-9999",
"whatsapp": "(84) 98888-8888",
"email_contato": "contato@example.com.br",
"nome_razao": "Nome Razão Social da empresa",
"tipo_pessoa": "juridica",
"cpf_cnpj": "00.000.000\\/0000-00",
"moeda": "BRL",
"cep": "00000-000",
"endereco": "Rua xxxx",
"numero": "42",
"complemento": "",
"bairro": "xxx",
"cidade": "Natal",
"uf": "RN"
}
}
Passeios ¶
Obtendo Passeios ¶
Listar PasseiosGET/passeios{?pagina,quantidade,busca,destino_id,data_de,data_ate,minimalResponse}
Atenção ¶
O campo preco_exibicao não necessariamente condiz com o preço final do passeio. Para saber o preço do passeio ainda é necessário determinar a data do passeio e a faixa etária do cliente.

Disponibilidades ¶
Apenas quando os campos data_de e data_ate forem passados juntos: Os passeios retornados serão filtrados, apenas aqueles com disponibilidade dentro do intervalo selecionado serão retornados. Estes passeios também vão incluir o campo \_disponibilidade em seu payload permitindo saber datas, horários, faixas etárias e preços.

Example URI
GET https://api.paytour.com.br/v2/passeios?pagina=1&quantidade=50&busca=trem&destino_id=42&data_de=2023-01-01&data_ate=2023-01-01&minimalResponse=1
URI ParametersHide
pagina
number (optional) Example: 1
Número da página

quantidade
number (optional) Example: 50
Quantidade de itens

busca
string (optional) Example: trem
Filtro da consulta

destino_id
number (optional) Example: 42
Id do destino do passeio para filtrar o resultado

data_de
string (optional) Example: 2023-01-01
Data mínima de disponibilidade do passeio

data_ate
string (optional) Example: 2023-01-01
Data máxima de disponibilidade do passeio

minimalResponse
int (required) Example: 1
Passe apenas se deseja um resposta com poucos campos e mais rápida

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"itens": [
{
"id": 1,
"preco_exibicao": 60,
"url": "http://loja-testes.paytour-dev.com.br/passeio/mergulho-batismo",
"categoria_id": 1,
"venda_sem_estoque": 0,
"foto": {
"original": "https://paytour.com.br/url-da-foto.jpg",
"listagem": "https://paytour.com.br/url-da-foto.jpg",
"listagem_grande": "https://paytour.com.br/url-da-foto.jpg",
"lateral": "https://paytour.com.br/url-da-foto.jpg",
"lateral_grande": "https://paytour.com.br/url-da-foto.jpg",
"miniatura": "https://paytour.com.br/url-da-foto.jpg",
"miniatura_mobile": "https://paytour.com.br/url-da-foto.jpg"
},
"outras_fotos": [
{
"original": "https://paytour.com.br/url-da-foto.jpg",
"listagem": "https://paytour.com.br/url-da-foto.jpg",
"listagem_grande": "https://paytour.com.br/url-da-foto.jpg",
"lateral": "https://paytour.com.br/url-da-foto.jpg",
"lateral_grande": "https://paytour.com.br/url-da-foto.jpg",
"miniatura": "https://paytour.com.br/url-da-foto.jpg",
"miniatura_mobile": "https://paytour.com.br/url-da-foto.jpg"
}
],
"loja_id": 12,
"tipo": "passeio",
"nome": "Passeio",
"codigo": "BCUNH",
"duracao_passeio": "Aproximadamente 7 Horas.",
"descricao": "Lorem Ipsum",
"tipo_passeio: dia_inteiro": "Hello, world!",
"url_video": "https://url-do-video.com.br",
"nao_vendavel": false,
"ativo": true,
"prioridade": "0",
"n_views": 0,
"n_vendas": 0,
"quantidade_min_venda": 1,
"quantidade_max_venda": 2,
"prazo_minimo_para_compra": 8,
"tipo_prazo_para_compra": "horas",
"termos_uso": "Termos de Uso",
"termos_uso_obrigatorio": false,
"visivel_site": 1,
"destino_id": 1,
"singular": "Passeio",
"plural": "Passeios",
"promocional": 1,
"promocao": {
"de": 10,
"por": 9.99
},
"opcionais": [
{
"id": "141",
"nome": "Máscara Top"
}
]
}
],
"info": {
"total": 1,
"pagina": 1,
"total_paginas": 1
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"itens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
1
],
"description": "Identificador único do pedido"
},
"preco_exibicao": {
"type": "number",
"enum": [
60
],
"description": "Preço de exibição do passeio"
},
"url": {
"type": "string",
"enum": [
"http://loja-testes.paytour-dev.com.br/passeio/mergulho-batismo"
],
"description": "A url para acessar o passeio no navegador"
},
"categoria_id": {
"type": "number",
"enum": [
1
],
"description": "Identificador da categoria do passeio"
},
"venda_sem_estoque": {
"type": "number",
"enum": [
0
],
"description": "1: pode ser vendido sem estoque, 0: não pode ser vendido sem estoque"
},
"foto": {
"type": "object",
"properties": {
"original": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto original"
},
"listagem": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto redimensionada para listagem"
},
"listagem_grande": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto redimensionada para listagem, porém grande"
},
"lateral": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto em resolução menor, ideal para mostrar em uma seção lateral (Ex: veja também)"
},
"lateral_grande": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto ideal para mostrar em uma seção lateral (Ex: veja também)"
},
"miniatura": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto original redimensionada para uma resolução menor"
},
"miniatura_mobile": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto com a menor resolução dentre as opções"
}
},
"required": [
"original",
"listagem",
"listagem_grande",
"lateral",
"lateral_grande",
"miniatura",
"miniatura_mobile"
],
"additionalProperties": false,
"description": "URL da foto principal do passeio"
},
"outras_fotos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"original": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto original"
},
"listagem": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto redimensionada para listagem"
},
"listagem_grande": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto redimensionada para listagem, porém grande"
},
"lateral": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto em resolução menor, ideal para mostrar em uma seção lateral (Ex: veja também)"
},
"lateral_grande": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto ideal para mostrar em uma seção lateral (Ex: veja também)"
},
"miniatura": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto original redimensionada para uma resolução menor"
},
"miniatura_mobile": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto com a menor resolução dentre as opções"
}
},
"required": [
"original",
"listagem",
"listagem_grande",
"lateral",
"lateral_grande",
"miniatura",
"miniatura_mobile"
],
"additionalProperties": false
}
},
"loja_id": {
"type": "number",
"enum": [
12
],
"description": "Identificador da loja"
},
"tipo": {
"type": "string",
"enum": [
"passeio"
]
},
"nome": {
"type": "string",
"enum": [
"Passeio"
],
"description": "Nome do Passeio"
},
"codigo": {
"type": "string",
"enum": [
"BCUNH"
],
"description": "Código curto do passeo"
},
"duracao_passeio": {
"type": "string",
"enum": [
"Aproximadamente 7 Horas."
],
"description": "Duração do passeio em texto livre,"
},
"descricao": {
"type": "string",
"enum": [
"Lorem Ipsum"
],
"description": "Descrição do Passeio,"
},
"tipo_passeio: dia_inteiro": {
"type": "string",
"enum": [
""
],
"description": "Tipo do passeio: 'fixo', 'faixa', 'dia_inteiro' ou 'turno',"
},
"url_video": {
"type": "string",
"enum": [
"https://url-do-video.com.br"
],
"description": "URL do vídeo associado ao passeio"
},
"nao_vendavel": {
"type": "boolean",
"enum": [
false
],
"description": "Se o passeio pode ser vendido ou não"
},
"ativo": {
"type": "boolean",
"enum": [
true
],
"description": "Se o passeio está ativo"
},
"prioridade": {
"type": "string",
"enum": [
"0"
],
"description": "Prioridade de listagem do passeio"
},
"n_views": {
"type": "number",
"enum": [
0
],
"description": "Número de visualizações do passeio"
},
"n_vendas": {
"type": "number",
"enum": [
0
],
"description": "Número de vendas do passeio"
},
"quantidade_min_venda": {
"type": "number",
"enum": [
1
],
"description": "Numero mínimo de vagas que devem ser ocupadas para que o passeio seja realizado"
},
"quantidade_max_venda": {
"type": "number",
"enum": [
2
],
"description": "Numero máximo de vagas que podem ser ocupadas para que o passeio seja realizado, ou null caso não tenha limite"
},
"prazo_minimo_para_compra": {
"type": "number",
"enum": [
8
],
"description": "Valor do prazo mínimo antes de um passeio onde ele ainda pode ser comprado"
},
"tipo_prazo_para_compra": {
"type": "string",
"enum": [
"horas"
],
"description": "Pode ser horas ou dias, especifíca o campo prazo_minimo_para_compra"
},
"termos_uso": {
"type": "string",
"enum": [
"Termos de Uso"
],
"description": "Termos de Uso do pedido"
},
"termos_uso_obrigatorio": {
"type": "boolean",
"enum": [
false
],
"description": "Se o usuário é obrigado a aceitar os termos de uso para comprar o passeio"
},
"visivel_site": {
"type": "number",
"enum": [
1
],
"description": "Se esse passeio está visível na listagem do site"
},
"destino_id": {
"type": "number",
"enum": [
1
],
"description": "Identificador do destino do passeio"
},
"singular": {
"type": "string",
"enum": [
"Passeio"
],
"description": "Nome do passeio no plural"
},
"plural": {
"type": "string",
"enum": [
"Passeios"
],
"description": "Nome do passeio no plural"
},
"promocional": {
"type": "number",
"enum": [
1
],
"description": "1: passeio com preço promocional, 0: passeio com preço normal"
},
"promocao": {
"type": "object",
"properties": {
"de": {
"type": "number",
"enum": [
10
],
"description": "Valor original do passeio"
},
"por": {
"type": "number",
"enum": [
9.99
],
"description": "Valor promocional do passeio"
}
},
"required": [
"de",
"por"
],
"additionalProperties": false
},
"opcionais": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"141"
],
"description": "Identificador único desse opcional"
},
"nome": {
"type": "string",
"enum": [
"Máscara Top"
],
"description": "Título do opcional"
}
},
"required": [
"id",
"nome"
],
"additionalProperties": false
},
"description": "A lista de opcionais disponíveis para esse passeio"
}
},
"required": [
"id",
"preco_exibicao",
"url",
"categoria_id",
"venda_sem_estoque",
"foto",
"outras_fotos",
"loja_id",
"tipo",
"nome",
"codigo",
"duracao_passeio",
"descricao",
"tipo_passeio: dia_inteiro",
"url_video",
"nao_vendavel",
"ativo",
"prioridade",
"n_views",
"n_vendas",
"quantidade_min_venda",
"quantidade_max_venda",
"prazo_minimo_para_compra",
"tipo_prazo_para_compra",
"termos_uso",
"termos_uso_obrigatorio",
"visivel_site",
"destino_id",
"singular",
"plural",
"promocional",
"promocao",
"opcionais"
],
"additionalProperties": false
}
},
"info": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Quantidade total de registros"
},
"pagina": {
"type": "number",
"description": "Página atual"
},
"total_paginas": {
"type": "number",
"description": "Quantidade de páginas"
}
}
}
},
"required": [
"itens"
]
}
Detalhando um Passeio ¶
Este endpoint retorna os detalhes de um passeio da loja, incluindo informações de disponibilidade e faixas de preço. Por padrão, são considerados até 3 meses a partir da data da consulta. Caso seja informado o parâmetro disponibilidadeAte, o sistema buscará a disponibilidade para até 12 meses, no máximo.

Detalhar PasseioGET/passeios/{id}?disponibilidadeAte=12
Example URI
GET https://api.paytour.com.br/v2/passeios/42?disponibilidadeAte=12
URI ParametersHide
id
number (optional) Example: 42
O id do passeio

disponibilidadeAte
number (optional) Example: 12
mes

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 404Hide
Headers
Content-Type: application/json
Body
{
"message": "Resource not found.",
"code": 64
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"id": 1,
"preco_exibicao": 60,
"url": "http://loja-testes.paytour-dev.com.br/passeio/mergulho-batismo",
"categoria_id": 1,
"venda_sem_estoque": 0,
"foto": {
"original": "https://paytour.com.br/url-da-foto.jpg",
"listagem": "https://paytour.com.br/url-da-foto.jpg",
"listagem_grande": "https://paytour.com.br/url-da-foto.jpg",
"lateral": "https://paytour.com.br/url-da-foto.jpg",
"lateral_grande": "https://paytour.com.br/url-da-foto.jpg",
"miniatura": "https://paytour.com.br/url-da-foto.jpg",
"miniatura_mobile": "https://paytour.com.br/url-da-foto.jpg"
},
"outras_fotos": [
{
"original": "https://paytour.com.br/url-da-foto.jpg",
"listagem": "https://paytour.com.br/url-da-foto.jpg",
"listagem_grande": "https://paytour.com.br/url-da-foto.jpg",
"lateral": "https://paytour.com.br/url-da-foto.jpg",
"lateral_grande": "https://paytour.com.br/url-da-foto.jpg",
"miniatura": "https://paytour.com.br/url-da-foto.jpg",
"miniatura_mobile": "https://paytour.com.br/url-da-foto.jpg"
}
],
"loja_id": 12,
"tipo": "passeio",
"nome": "Passeio",
"codigo": "BCUNH",
"duracao_passeio": "Aproximadamente 7 Horas.",
"descricao": "Lorem Ipsum",
"tipo_passeio: dia_inteiro": "Hello, world!",
"url_video": "https://url-do-video.com.br",
"nao_vendavel": false,
"ativo": true,
"prioridade": "0",
"n_views": 0,
"n_vendas": 0,
"quantidade_min_venda": 1,
"quantidade_max_venda": 2,
"prazo_minimo_para_compra": 8,
"tipo_prazo_para_compra": "horas",
"termos_uso": "Termos de Uso",
"termos_uso_obrigatorio": false,
"visivel_site": 1,
"destino_id": 1,
"singular": "Passeio",
"plural": "Passeios",
"promocional": 1,
"promocao": {
"de": 10,
"por": 9.99
},
"opcionais": [
{
"id": "141",
"nome": "Máscara Top"
}
],
"\_disponibilidade": [
{
"id": 626,
"quantidade": 20,
"date": "2020-09-01",
"label": "12:00",
"non_dependent_count": 0,
"count": 0,
"\_faixas_etarias": [
{
"id": 49,
"label": "Criança",
"dependente": "1",
"descricao": "Criança",
"preco": "50.00",
"preco_net": "50.00",
"preco_desconto": "40.00",
"faixa_etaria_id": 209,
"precos_sazonais": [
{
"id": 42,
"data_inicio": "2020-05-01",
"data_fim": "2020-08-31",
"preco_promocao_de": "50.00",
"preco": "40.00",
"preco_net": "40.00",
"preco_desconto": "40.00",
"promocao": "1"
}
]
}
]
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Identificador único do pedido"
},
"preco_exibicao": {
"type": "number",
"description": "Preço de exibição do passeio"
},
"url": {
"type": "string",
"description": "A url para acessar o passeio no navegador"
},
"categoria_id": {
"type": "number",
"description": "Identificador da categoria do passeio"
},
"venda_sem_estoque": {
"type": "number",
"description": "1: pode ser vendido sem estoque, 0: não pode ser vendido sem estoque"
},
"foto": {
"type": "object",
"properties": {
"original": {
"type": "string",
"description": "URL da foto original"
},
"listagem": {
"type": "string",
"description": "URL da foto redimensionada para listagem"
},
"listagem_grande": {
"type": "string",
"description": "URL da foto redimensionada para listagem, porém grande"
},
"lateral": {
"type": "string",
"description": "URL da foto em resolução menor, ideal para mostrar em uma seção lateral (Ex: veja também)"
},
"lateral_grande": {
"type": "string",
"description": "URL da foto ideal para mostrar em uma seção lateral (Ex: veja também)"
},
"miniatura": {
"type": "string",
"description": "URL da foto original redimensionada para uma resolução menor"
},
"miniatura_mobile": {
"type": "string",
"description": "URL da foto com a menor resolução dentre as opções"
}
},
"description": "URL da foto principal do passeio"
},
"outras_fotos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"original": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto original"
},
"listagem": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto redimensionada para listagem"
},
"listagem_grande": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto redimensionada para listagem, porém grande"
},
"lateral": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto em resolução menor, ideal para mostrar em uma seção lateral (Ex: veja também)"
},
"lateral_grande": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto ideal para mostrar em uma seção lateral (Ex: veja também)"
},
"miniatura": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto original redimensionada para uma resolução menor"
},
"miniatura_mobile": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto com a menor resolução dentre as opções"
}
},
"required": [
"original",
"listagem",
"listagem_grande",
"lateral",
"lateral_grande",
"miniatura",
"miniatura_mobile"
],
"additionalProperties": false
}
},
"loja_id": {
"type": "number",
"description": "Identificador da loja"
},
"tipo": {
"type": "string"
},
"nome": {
"type": "string",
"description": "Nome do Passeio"
},
"codigo": {
"type": "string",
"description": "Código curto do passeo"
},
"duracao_passeio": {
"type": "string",
"description": "Duração do passeio em texto livre,"
},
"descricao": {
"type": "string",
"description": "Descrição do Passeio,"
},
"tipo_passeio: dia_inteiro": {
"type": "string",
"description": "Tipo do passeio: 'fixo', 'faixa', 'dia_inteiro' ou 'turno',"
},
"url_video": {
"type": "string",
"description": "URL do vídeo associado ao passeio"
},
"nao_vendavel": {
"type": "boolean",
"description": "Se o passeio pode ser vendido ou não"
},
"ativo": {
"type": "boolean",
"description": "Se o passeio está ativo"
},
"prioridade": {
"type": "string",
"description": "Prioridade de listagem do passeio"
},
"n_views": {
"type": "number",
"description": "Número de visualizações do passeio"
},
"n_vendas": {
"type": "number",
"description": "Número de vendas do passeio"
},
"quantidade_min_venda": {
"type": "number",
"description": "Numero mínimo de vagas que devem ser ocupadas para que o passeio seja realizado"
},
"quantidade_max_venda": {
"type": "number",
"description": "Numero máximo de vagas que podem ser ocupadas para que o passeio seja realizado, ou null caso não tenha limite"
},
"prazo_minimo_para_compra": {
"type": "number",
"description": "Valor do prazo mínimo antes de um passeio onde ele ainda pode ser comprado"
},
"tipo_prazo_para_compra": {
"type": "string",
"description": "Pode ser horas ou dias, especifíca o campo prazo_minimo_para_compra"
},
"termos_uso": {
"type": "string",
"description": "Termos de Uso do pedido"
},
"termos_uso_obrigatorio": {
"type": "boolean",
"description": "Se o usuário é obrigado a aceitar os termos de uso para comprar o passeio"
},
"visivel_site": {
"type": "number",
"description": "Se esse passeio está visível na listagem do site"
},
"destino_id": {
"type": "number",
"description": "Identificador do destino do passeio"
},
"singular": {
"type": "string",
"description": "Nome do passeio no plural"
},
"plural": {
"type": "string",
"description": "Nome do passeio no plural"
},
"promocional": {
"type": "number",
"description": "1: passeio com preço promocional, 0: passeio com preço normal"
},
"promocao": {
"type": "object",
"properties": {
"de": {
"type": "number",
"description": "Valor original do passeio"
},
"por": {
"type": "number",
"description": "Valor promocional do passeio"
}
}
},
"opcionais": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"141"
],
"description": "Identificador único desse opcional"
},
"nome": {
"type": "string",
"enum": [
"Máscara Top"
],
"description": "Título do opcional"
}
},
"required": [
"id",
"nome"
],
"additionalProperties": false
},
"description": "A lista de opcionais disponíveis para esse passeio"
},
"\_disponibilidade": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
626
],
"description": "Identificador único do horário"
},
"quantidade": {
"type": "number",
"enum": [
20
],
"description": "Número de vagas disponíveis nesse horário para esse passeio"
},
"date": {
"type": "string",
"enum": [
"2020-09-01"
],
"description": "Data selecionada no formato YYYY-MM-DD"
},
"label": {
"type": "string",
"enum": [
"12:00"
],
"description": "A string que descreve o horário"
},
"non_dependent_count": {
"type": "number",
"enum": [
0
],
"description": "Número de clientes não dependentes adicionados"
},
"count": {
"type": "number",
"enum": [
0
],
"description": "Número de clientes adicionados"
},
"\_faixas_etarias": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
49
],
"description": "Identificador único da faixa etária para esse passeio"
},
"label": {
"type": "string",
"enum": [
"Criança"
],
"description": "O nome da faixa etária"
},
"dependente": {
"type": "string",
"enum": [
"1"
],
"description": "\"1\" se essa faixa etária é dependente de um responsável para fazer o passeio"
},
"descricao": {
"type": "string",
"enum": [
"Criança"
],
"description": "A string que descreve o a faixa"
},
"preco": {
"type": "string",
"enum": [
"50.00"
],
"description": "O preço da faixa etária (Preço que deve ser cobrado por pessoa nesse passeio)"
},
"preco_net": {
"type": "string",
"enum": [
"50.00"
],
"description": "O preço de venda para afiliados da loja"
},
"preco_desconto": {
"type": "string",
"enum": [
"40.00"
],
"description": "Preço de venda caso seja selecionado pagamento em depósito"
},
"faixa_etaria_id": {
"type": "number",
"enum": [
209
],
"description": "Identificador único da faixa etária"
},
"precos_sazonais": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
42
],
"description": "Identificador único"
},
"data_inicio": {
"type": "string",
"enum": [
"2020-05-01"
],
"description": "Data de início do preço sazonal"
},
"data_fim": {
"type": "string",
"enum": [
"2020-08-31"
],
"description": "Data de final do preço sazonal"
},
"preco_promocao_de": {
"type": "string",
"enum": [
"50.00"
],
"description": "Quanto custava antes do período começar"
},
"preco": {
"type": "string",
"enum": [
"40.00"
],
"description": "Quanto custa durante o período"
},
"preco_net": {
"type": "string",
"enum": [
"40.00"
],
"description": "Quanto custa durante o período para afiliados"
},
"preco_desconto": {
"type": "string",
"enum": [
"40.00"
],
"description": "Preço de venda caso seja selecionado pagamento em depósito"
},
"promocao": {
"type": "string",
"enum": [
"1"
],
"description": "\"1\" se o período é promocional"
}
},
"required": [
"id",
"data_inicio",
"data_fim",
"preco_promocao_de",
"preco",
"preco_net",
"preco_desconto",
"promocao"
],
"additionalProperties": false
},
"description": "A lista de preços sazonais"
}
},
"required": [
"id",
"label",
"dependente",
"descricao",
"preco",
"preco_net",
"preco_desconto",
"faixa_etaria_id",
"precos_sazonais"
],
"additionalProperties": false
},
"description": "A lista faixas etárias"
}
},
"required": [
"id",
"quantidade",
"date",
"label",
"non_dependent_count",
"count",
"_faixas_etarias"
],
"additionalProperties": false
},
"description": "A lista datas horarios e faixas etarias"
}
},
"required": [
"outras_fotos",
"opcionais",
"_disponibilidade"
]
}
Combos ¶
Obtendo Combos ¶
Listar CombosGET/combos{?pagina,quantidade,busca,data_de,data_ate}
Nota ¶
Esse endpoint retorna todos os dados que você precisa para realizar um pedido de um combo

Disponibilidades ¶
Apenas quando os campos data_de e data_ate forem passados juntos: Os passeios retornados serão filtrados, apenas aqueles com disponibilidade dentro do intervalo selecionado serão retornados. Estes passeios também vão incluir o campo \_disponibilidade em seu payload permitindo saber datas, horários, faixas etárias e preços.

Example URI
GET https://api.paytour.com.br/v2/combos?pagina=1&quantidade=50&busca=trem&data_de=2023-01-01&data_ate=2023-01-01
URI ParametersHide
pagina
number (optional) Example: 1
Número da página

quantidade
number (optional) Example: 50
Quantidade de itens

busca
string (optional) Example: trem
Filtro da consulta pode ser o nome ou id ou uma descrição.

data_de
string (optional) Example: 2023-01-01
Data mínima de disponibilidade do passeio que faz parte do combo

data_ate
string (optional) Example: 2023-01-01
Data máxima de disponibilidade do passeio que faz parte do combo

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"itens": [
{
"id": 1,
"seletor": "calendario",
"preenchimento_formulario: anterior_todos,": "Hello, world!",
"url": "http://loja-testes.paytour-dev.com.br/combo/mergulho-batismo",
"categoria_id": 1,
"venda_sem_estoque": 0,
"foto": {
"original": "https://paytour.com.br/url-da-foto.jpg",
"listagem": "https://paytour.com.br/url-da-foto.jpg",
"listagem_grande": "https://paytour.com.br/url-da-foto.jpg",
"lateral": "https://paytour.com.br/url-da-foto.jpg",
"lateral_grande": "https://paytour.com.br/url-da-foto.jpg",
"miniatura": "https://paytour.com.br/url-da-foto.jpg",
"miniatura_mobile": "https://paytour.com.br/url-da-foto.jpg"
},
"photos": [
{
"original": "https://paytour.com.br/url-da-foto.jpg",
"listagem": "https://paytour.com.br/url-da-foto.jpg",
"listagem_grande": "https://paytour.com.br/url-da-foto.jpg",
"lateral": "https://paytour.com.br/url-da-foto.jpg",
"lateral_grande": "https://paytour.com.br/url-da-foto.jpg",
"miniatura": "https://paytour.com.br/url-da-foto.jpg",
"miniatura_mobile": "https://paytour.com.br/url-da-foto.jpg"
}
],
"loja_id": 12,
"tipo": "Combo",
"nome": "Combo",
"codigo": "BCUNH",
"descricao": "Lorem Ipsum",
"url_video": "https://url-do-video.com.br",
"nao_vendavel": false,
"ativo": true,
"prioridade": "0",
"n_views": 0,
"n_vendas": 0,
"prazo_minimo_para_compra": 8,
"tipo_prazo_para_compra": "horas",
"termos_uso": "Termos de Uso",
"termos_uso_obrigatorio": false,
"visivel_site": 1,
"singular": "combos",
"plural": "comboss",
"promocional": 1,
"faixas_etarias": [
{
"id": 49,
"label": "Criança",
"dependente": "1",
"descricao": "Criança",
"preco": "50.00",
"preco_net": "50.00",
"preco_desconto": "40.00",
"faixa_etaria_id": 209,
"precos_sazonais": [
{
"id": 42,
"data_inicio": "2020-05-01",
"data_fim": "2020-08-31",
"preco_promocao_de": "50.00",
"preco": "40.00",
"preco_net": "40.00",
"preco_desconto": "40.00",
"promocao": "1"
}
]
}
],
"Atividades": [
{
"id": 11,
"produto_original_id": 1,
"produto_referenciado_id": 15,
"valor valor_proporcional": "50",
"disponibilidade": [
{
"id": "807363",
"quantidade": 11,
"date": "2025-03-30",
"hora_de": "06:00:00",
"label": "Manhã",
"\_faixas_etarias": [
{
"id": 49,
"label": "Criança",
"dependente": "1",
"descricao": "Criança",
"preco": "50.00",
"preco_net": "50.00",
"preco_desconto": "40.00",
"faixa_etaria_id": 209,
"precos_sazonais": [
{
"id": 42,
"data_inicio": "2020-05-01",
"data_fim": "2020-08-31",
"preco_promocao_de": "50.00",
"preco": "40.00",
"preco_net": "40.00",
"preco_desconto": "40.00",
"promocao": "1"
}
]
}
]
}
],
"opcionais": [
{
"id": 50,
"produto_id": 11,
"preco": "500.00",
"excluido": 0
}
]
}
]
}
],
"info": {
"total": 1,
"pagina": 1,
"total_paginas": 1
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"itens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
1
],
"description": "Identificador único do pedido"
},
"seletor": {
"type": "string",
"enum": [
"calendario"
]
},
"preenchimento_formulario: anterior_todos,": {
"type": "string",
"enum": [
""
]
},
"url": {
"type": "string",
"enum": [
"http://loja-testes.paytour-dev.com.br/combo/mergulho-batismo"
],
"description": "A url para acessar o Combo no navegador"
},
"categoria_id": {
"type": "number",
"enum": [
1
],
"description": "Identificador da categoria do Combo"
},
"venda_sem_estoque": {
"type": "number",
"enum": [
0
],
"description": "1: pode ser vendido sem estoque, 0: não pode ser vendido sem estoque"
},
"foto": {
"type": "object",
"properties": {
"original": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto original"
},
"listagem": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto redimensionada para listagem"
},
"listagem_grande": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto redimensionada para listagem, porém grande"
},
"lateral": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto em resolução menor, ideal para mostrar em uma seção lateral (Ex: veja também)"
},
"lateral_grande": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto ideal para mostrar em uma seção lateral (Ex: veja também)"
},
"miniatura": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto original redimensionada para uma resolução menor"
},
"miniatura_mobile": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto com a menor resolução dentre as opções"
}
},
"required": [
"original",
"listagem",
"listagem_grande",
"lateral",
"lateral_grande",
"miniatura",
"miniatura_mobile"
],
"additionalProperties": false,
"description": "URL da foto principal do Combo"
},
"photos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"original": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto original"
},
"listagem": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto redimensionada para listagem"
},
"listagem_grande": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto redimensionada para listagem, porém grande"
},
"lateral": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto em resolução menor, ideal para mostrar em uma seção lateral (Ex: veja também)"
},
"lateral_grande": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto ideal para mostrar em uma seção lateral (Ex: veja também)"
},
"miniatura": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto original redimensionada para uma resolução menor"
},
"miniatura_mobile": {
"type": "string",
"enum": [
"https://paytour.com.br/url-da-foto.jpg"
],
"description": "URL da foto com a menor resolução dentre as opções"
}
},
"required": [
"original",
"listagem",
"listagem_grande",
"lateral",
"lateral_grande",
"miniatura",
"miniatura_mobile"
],
"additionalProperties": false
}
},
"loja_id": {
"type": "number",
"enum": [
12
],
"description": "Identificador da loja"
},
"tipo": {
"type": "string",
"enum": [
"Combo"
]
},
"nome": {
"type": "string",
"enum": [
"Combo"
],
"description": "Nome do Combo"
},
"codigo": {
"type": "string",
"enum": [
"BCUNH"
],
"description": "Código curto do Combo"
},
"descricao": {
"type": "string",
"enum": [
"Lorem Ipsum"
],
"description": "Descrição do Combo,"
},
"url_video": {
"type": "string",
"enum": [
"https://url-do-video.com.br"
],
"description": "URL do vídeo associado ao combos"
},
"nao_vendavel": {
"type": "boolean",
"enum": [
false
],
"description": "Se o combos pode ser vendido ou não"
},
"ativo": {
"type": "boolean",
"enum": [
true
],
"description": "Se o combos está ativo"
},
"prioridade": {
"type": "string",
"enum": [
"0"
],
"description": "Prioridade de listagem do combos"
},
"n_views": {
"type": "number",
"enum": [
0
],
"description": "Número de visualizações do combos"
},
"n_vendas": {
"type": "number",
"enum": [
0
],
"description": "Número de vendas do combos"
},
"prazo_minimo_para_compra": {
"type": "number",
"enum": [
8
],
"description": "Valor do prazo mínimo antes de um combos onde ele ainda pode ser comprado"
},
"tipo_prazo_para_compra": {
"type": "string",
"enum": [
"horas"
],
"description": "Pode ser horas ou dias, especifíca o campo prazo_minimo_para_compra"
},
"termos_uso": {
"type": "string",
"enum": [
"Termos de Uso"
],
"description": "Termos de Uso do pedido"
},
"termos_uso_obrigatorio": {
"type": "boolean",
"enum": [
false
],
"description": "Se o usuário é obrigado a aceitar os termos de uso para comprar o combos"
},
"visivel_site": {
"type": "number",
"enum": [
1
],
"description": "Se esse combos está visível na listagem do site"
},
"singular": {
"type": "string",
"enum": [
"combos"
],
"description": "Nome do combos no plural"
},
"plural": {
"type": "string",
"enum": [
"comboss"
],
"description": "Nome do combos no plural"
},
"promocional": {
"type": "number",
"enum": [
1
],
"description": "1: combos com preço promocional, 0: combos com preço normal"
},
"faixas_etarias": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
49
],
"description": "Identificador único da faixa etária para esse passeio"
},
"label": {
"type": "string",
"enum": [
"Criança"
],
"description": "O nome da faixa etária"
},
"dependente": {
"type": "string",
"enum": [
"1"
],
"description": "\"1\" se essa faixa etária é dependente de um responsável para fazer o passeio"
},
"descricao": {
"type": "string",
"enum": [
"Criança"
],
"description": "A string que descreve o a faixa"
},
"preco": {
"type": "string",
"enum": [
"50.00"
],
"description": "O preço da faixa etária (Preço que deve ser cobrado por pessoa nesse passeio)"
},
"preco_net": {
"type": "string",
"enum": [
"50.00"
],
"description": "O preço de venda para afiliados da loja"
},
"preco_desconto": {
"type": "string",
"enum": [
"40.00"
],
"description": "Preço de venda caso seja selecionado pagamento em depósito"
},
"faixa_etaria_id": {
"type": "number",
"enum": [
209
],
"description": "Identificador único da faixa etária"
},
"precos_sazonais": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
42
],
"description": "Identificador único"
},
"data_inicio": {
"type": "string",
"enum": [
"2020-05-01"
],
"description": "Data de início do preço sazonal"
},
"data_fim": {
"type": "string",
"enum": [
"2020-08-31"
],
"description": "Data de final do preço sazonal"
},
"preco_promocao_de": {
"type": "string",
"enum": [
"50.00"
],
"description": "Quanto custava antes do período começar"
},
"preco": {
"type": "string",
"enum": [
"40.00"
],
"description": "Quanto custa durante o período"
},
"preco_net": {
"type": "string",
"enum": [
"40.00"
],
"description": "Quanto custa durante o período para afiliados"
},
"preco_desconto": {
"type": "string",
"enum": [
"40.00"
],
"description": "Preço de venda caso seja selecionado pagamento em depósito"
},
"promocao": {
"type": "string",
"enum": [
"1"
],
"description": "\"1\" se o período é promocional"
}
},
"required": [
"id",
"data_inicio",
"data_fim",
"preco_promocao_de",
"preco",
"preco_net",
"preco_desconto",
"promocao"
],
"additionalProperties": false
},
"description": "A lista de preços sazonais"
}
},
"required": [
"id",
"label",
"dependente",
"descricao",
"preco",
"preco_net",
"preco_desconto",
"faixa_etaria_id",
"precos_sazonais"
],
"additionalProperties": false
},
"description": "A lista de faixas etarias para o combo"
},
"Atividades": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
11
]
},
"produto_original_id": {
"type": "number",
"enum": [
1
],
"description": "id do combo"
},
"produto_referenciado_id": {
"type": "number",
"enum": [
15
],
"description": "id do passeio"
},
"valor valor_proporcional": {
"type": "string",
"enum": [
"50"
],
"description": "em porcentagem"
},
"disponibilidade": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"807363"
],
"description": "O Id da disponibilidade a ser usada"
},
"quantidade": {
"type": "number",
"enum": [
11
],
"description": "a quantidade de vagas disponível para o passeio"
},
"date": {
"type": "string",
"enum": [
"2025-03-30"
]
},
"hora_de": {
"type": "string",
"enum": [
"06:00:00"
]
},
"label": {
"type": "string",
"enum": [
"Manhã"
]
},
"\_faixas_etarias": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
49
],
"description": "Identificador único da faixa etária para esse passeio"
},
"label": {
"type": "string",
"enum": [
"Criança"
],
"description": "O nome da faixa etária"
},
"dependente": {
"type": "string",
"enum": [
"1"
],
"description": "\"1\" se essa faixa etária é dependente de um responsável para fazer o passeio"
},
"descricao": {
"type": "string",
"enum": [
"Criança"
],
"description": "A string que descreve o a faixa"
},
"preco": {
"type": "string",
"enum": [
"50.00"
],
"description": "O preço da faixa etária (Preço que deve ser cobrado por pessoa nesse passeio)"
},
"preco_net": {
"type": "string",
"enum": [
"50.00"
],
"description": "O preço de venda para afiliados da loja"
},
"preco_desconto": {
"type": "string",
"enum": [
"40.00"
],
"description": "Preço de venda caso seja selecionado pagamento em depósito"
},
"faixa_etaria_id": {
"type": "number",
"enum": [
209
],
"description": "Identificador único da faixa etária"
},
"precos_sazonais": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
42
],
"description": "Identificador único"
},
"data_inicio": {
"type": "string",
"enum": [
"2020-05-01"
],
"description": "Data de início do preço sazonal"
},
"data_fim": {
"type": "string",
"enum": [
"2020-08-31"
],
"description": "Data de final do preço sazonal"
},
"preco_promocao_de": {
"type": "string",
"enum": [
"50.00"
],
"description": "Quanto custava antes do período começar"
},
"preco": {
"type": "string",
"enum": [
"40.00"
],
"description": "Quanto custa durante o período"
},
"preco_net": {
"type": "string",
"enum": [
"40.00"
],
"description": "Quanto custa durante o período para afiliados"
},
"preco_desconto": {
"type": "string",
"enum": [
"40.00"
],
"description": "Preço de venda caso seja selecionado pagamento em depósito"
},
"promocao": {
"type": "string",
"enum": [
"1"
],
"description": "\"1\" se o período é promocional"
}
},
"required": [
"id",
"data_inicio",
"data_fim",
"preco_promocao_de",
"preco",
"preco_net",
"preco_desconto",
"promocao"
],
"additionalProperties": false
},
"description": "A lista de preços sazonais"
}
},
"required": [
"id",
"label",
"dependente",
"descricao",
"preco",
"preco_net",
"preco_desconto",
"faixa_etaria_id",
"precos_sazonais"
],
"additionalProperties": false
},
"description": "As faixas etárias dos passeios que fazem parte do combo"
}
},
"required": [
"id",
"quantidade",
"date",
"hora_de",
"label",
"_faixas_etarias"
],
"additionalProperties": false
},
"description": "A lista de faixas etarias para o combo"
},
"opcionais": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
50
],
"description": "O Id do opcional a ser usado"
},
"produto_id": {
"type": "number",
"enum": [
11
],
"description": "id do passeio"
},
"preco": {
"type": "string",
"enum": [
"500.00"
]
},
"excluido": {
"type": "number",
"enum": [
0
],
"description": "mostra se opcional foi excluido ou não do produto;"
}
},
"required": [
"id",
"produto_id",
"preco",
"excluido"
],
"additionalProperties": false
},
"description": "A lista de opcionais dos passeios que fazem que fazem parte do combo"
}
},
"required": [
"id",
"produto_original_id",
"produto_referenciado_id",
"valor valor_proporcional",
"disponibilidade",
"opcionais"
],
"additionalProperties": false
},
"description": "A lista de passeios que fazem parte do combo"
}
},
"required": [
"id",
"seletor",
"preenchimento_formulario: anterior_todos,",
"url",
"categoria_id",
"venda_sem_estoque",
"foto",
"photos",
"loja_id",
"tipo",
"nome",
"codigo",
"descricao",
"url_video",
"nao_vendavel",
"ativo",
"prioridade",
"n_views",
"n_vendas",
"prazo_minimo_para_compra",
"tipo_prazo_para_compra",
"termos_uso",
"termos_uso_obrigatorio",
"visivel_site",
"singular",
"plural",
"promocional",
"faixas_etarias",
"Atividades"
],
"additionalProperties": false
}
},
"info": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Quantidade total de registros"
},
"pagina": {
"type": "number",
"description": "Página atual"
},
"total_paginas": {
"type": "number",
"description": "Quantidade de páginas"
}
}
}
},
"required": [
"itens"
]
}
Atividades ¶
Obtendo Atividades ¶
Este endpoint lista as atividades que o lojista tem para realizar em uma determinada faixa de datas. As atividades incluem o título, nome do cliente que a comprou, o código do voucher dentre várias outras informações. Apenas atividades de Pedidos aprovados serão listadas.

Observação ¶
Caso o filtro usado seja o data_de e data_ate este endpoint não retorna os produtos comprados, apenas os passeios. Isso se deve ao fato de que os produtos, diferente dos passeios, não tem data.
Caso o filtro usado seja o de pedido_id todos os produtos e passeios serão retonados.

Listar AtividadesGET/atividades{?data_de,data_ate,pedido_id}
Quando data_de e data_ate são deixados em branco o dia da requisição é usado como valor default.
Quando pedido_id é passado, data_de e data_ate são ignorados.

Example URI
GET https://api.paytour.com.br/v2/atividades?data_de=2020-11-29&data_ate=2020-11-29&pedido_id=10005846
URI ParametersHide
data_de
string (optional) Example: 2020-11-29
Data inicial a partir da qual a atividade vai ser realizada

data_ate
string (optional) Example: 2020-11-29
Data final na qual a atividade vai ser realizada

pedido_id
number (optional) Example: 10005846
Id do pedido onde a atividade foi comprada

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
[
{
"id": "01",
"pedido_id": "01",
"valor": "110.00",
"produto_id": "01",
"produto_codigo": "01",
"utilizado": "0",
"data_utilizacao": "2020-11-2020",
"quantidade": "1",
"dados_status": "preenchido",
"pedido_cliente_nome": "Matheus Alves de Andrade",
"atividade_nome": "Quadriciclo em Maracajaú",
"atividade_data": "2020-11-29",
"ativiade_hora_de": "12:00:00",
"ativiade_hora_ate": "null",
"ativiade_tipo": "turno",
"faixa_etaria_id": "206",
"faixa_etaria_nome": "Para 1 ou 2* pessoas",
"faixa_etaria_descricao": "*Quad compartilhado",
"opcionais": [
{
"id": "141",
"nome": "Máscara Top"
}
],
"atividade_cliente_nome": "null",
"voucher": "481584618265841658",
"time_label": "Tarde",
"operador_nome": "Matheus Alves"
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"01"
],
"description": "Identificador único do Item de Pedido"
},
"pedido_id": {
"type": "string",
"enum": [
"01"
],
"description": "Identificador único do Pedido"
},
"valor": {
"type": "string",
"enum": [
"110.00"
],
"description": "Valor desse item do pedido"
},
"produto_id": {
"type": "string",
"enum": [
"01"
],
"description": "Identificador único do produto ou passeio"
},
"produto_codigo": {
"type": "string",
"enum": [
"01"
],
"description": "Código único do produto ou passeio"
},
"utilizado": {
"type": "string",
"enum": [
"0"
],
"description": "1 quando esse voucher já foi utilizado"
},
"data_utilizacao": {
"type": "string",
"enum": [
"2020-11-2020"
],
"description": "Data na qual o voucher foi utilizado"
},
"quantidade": {
"type": "string",
"enum": [
"1"
],
"description": "Quantas unidades desse item foram adquiridas"
},
"dados_status": {
"type": "string",
"enum": [
"preenchido"
],
"description": "Estado do formulário desse passeio"
},
"pedido_cliente_nome": {
"type": "string",
"enum": [
"Matheus Alves de Andrade"
],
"description": "Nome do cliente que realizou o pedido"
},
"atividade_nome": {
"type": "string",
"enum": [
"Quadriciclo em Maracajaú"
],
"description": "Título da Atividade"
},
"atividade_data": {
"type": "string",
"enum": [
"2020-11-29"
],
"description": "Data da atividade"
},
"ativiade_hora_de": {
"type": "string",
"enum": [
"12:00:00"
],
"description": "Hora de início da atividade"
},
"ativiade_hora_ate": {
"type": "string",
"enum": [
"null"
],
"description": "Hora de término da atividade"
},
"ativiade_tipo": {
"type": "string",
"enum": [
"turno"
],
"description": "Tipo de atividade"
},
"faixa_etaria_id": {
"type": "string",
"enum": [
"206"
],
"description": "Identificador único da faixa etária"
},
"faixa_etaria_nome": {
"type": "string",
"enum": [
"Para 1 ou 2* pessoas"
],
"description": "Título da faixa etária"
},
"faixa_etaria_descricao": {
"type": "string",
"enum": [
"*Quad compartilhado"
],
"description": "Descrição da faixa etária"
},
"opcionais": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"141"
],
"description": "Identificador único desse opcional"
},
"nome": {
"type": "string",
"enum": [
"Máscara Top"
],
"description": "Título do opcional"
}
},
"required": [
"id",
"nome"
],
"additionalProperties": false
}
},
"atividade_cliente_nome": {
"type": "string",
"enum": [
"null"
],
"description": "Nome da pessoa que fará a Atividade caso preenchido"
},
"voucher": {
"type": "string",
"enum": [
"481584618265841658"
],
"description": "Código do voucher"
},
"time_label": {
"type": "string",
"enum": [
"Tarde"
],
"description": "Label do momento de realização da Atividade"
},
"operador_nome": {
"type": "string",
"enum": [
"Matheus Alves"
],
"description": "Nome do responsável pelo check-in ou null caso o check-in não tenha sido feito"
}
},
"required": [
"id",
"pedido_id",
"valor",
"produto_id",
"produto_codigo",
"utilizado",
"data_utilizacao",
"quantidade",
"dados_status",
"pedido_cliente_nome",
"atividade_nome",
"atividade_data",
"ativiade_hora_de",
"ativiade_hora_ate",
"ativiade_tipo",
"faixa_etaria_id",
"faixa_etaria_nome",
"faixa_etaria_descricao",
"opcionais",
"atividade_cliente_nome",
"voucher",
"time_label",
"operador_nome"
],
"additionalProperties": false
}
}
Detalhando Atividade ¶
Este endpoint detalha uma atividade específica a partir de seu código único, o vouhcerCode.

Visualizar AtividadeGET/atividades/{vouhcerCode}
Example URI
GET https://api.paytour.com.br/v2/atividades/545351815152154
URI ParametersHide
vouhcerCode
string (required) Example: 545351815152154
Código de identificação do voucher

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 404Hide
Headers
Content-Type: application/json
Body
{
"message": "Voucher não encontrado",
"code": 1
}
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"id": "01",
"pedido_id": "01",
"valor": "110.00",
"produto_id": "01",
"produto_codigo": "01",
"utilizado": "0",
"data_utilizacao": "2020-11-2020",
"quantidade": "1",
"dados_status": "preenchido",
"pedido_cliente_nome": "Matheus Alves de Andrade",
"atividade_nome": "Quadriciclo em Maracajaú",
"atividade_data": "2020-11-29",
"ativiade_hora_de": "12:00:00",
"ativiade_hora_ate": "null",
"ativiade_tipo": "turno",
"faixa_etaria_id": "206",
"faixa_etaria_nome": "Para 1 ou 2* pessoas",
"faixa_etaria_descricao": "*Quad compartilhado",
"opcionais": [
{
"id": "141",
"nome": "Máscara Top"
}
],
"atividade_cliente_nome": "null",
"voucher": "481584618265841658",
"time_label": "Tarde",
"operador_nome": "Matheus Alves"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identificador único do Item de Pedido"
},
"pedido_id": {
"type": "string",
"description": "Identificador único do Pedido"
},
"valor": {
"type": "string",
"description": "Valor desse item do pedido"
},
"produto_id": {
"type": "string",
"description": "Identificador único do produto ou passeio"
},
"produto_codigo": {
"type": "string",
"description": "Código único do produto ou passeio"
},
"utilizado": {
"type": "string",
"description": "1 quando esse voucher já foi utilizado"
},
"data_utilizacao": {
"type": "string",
"description": "Data na qual o voucher foi utilizado"
},
"quantidade": {
"type": "string",
"description": "Quantas unidades desse item foram adquiridas"
},
"dados_status": {
"type": "string",
"description": "Estado do formulário desse passeio"
},
"pedido_cliente_nome": {
"type": "string",
"description": "Nome do cliente que realizou o pedido"
},
"atividade_nome": {
"type": "string",
"description": "Título da Atividade"
},
"atividade_data": {
"type": "string",
"description": "Data da atividade"
},
"ativiade_hora_de": {
"type": "string",
"description": "Hora de início da atividade"
},
"ativiade_hora_ate": {
"type": "string",
"description": "Hora de término da atividade"
},
"ativiade_tipo": {
"type": "string",
"description": "Tipo de atividade"
},
"faixa_etaria_id": {
"type": "string",
"description": "Identificador único da faixa etária"
},
"faixa_etaria_nome": {
"type": "string",
"description": "Título da faixa etária"
},
"faixa_etaria_descricao": {
"type": "string",
"description": "Descrição da faixa etária"
},
"opcionais": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"141"
],
"description": "Identificador único desse opcional"
},
"nome": {
"type": "string",
"enum": [
"Máscara Top"
],
"description": "Título do opcional"
}
},
"required": [
"id",
"nome"
],
"additionalProperties": false
}
},
"atividade_cliente_nome": {
"type": "string",
"description": "Nome da pessoa que fará a Atividade caso preenchido"
},
"voucher": {
"type": "string",
"description": "Código do voucher"
},
"time_label": {
"type": "string",
"description": "Label do momento de realização da Atividade"
},
"operador_nome": {
"type": "string",
"description": "Nome do responsável pelo check-in ou null caso o check-in não tenha sido feito"
}
},
"required": [
"opcionais"
]
}
Registrando Check-In do cliente na atividade ¶
Este endpoint registra no sistema que o cliente chegou para fazer a atividade e seu Check-in foi realizado

Check-In AtividadePOST/atividades/{vouhcerCode}/checkIn{?nome_app}
O parâmetro nome_app será usado para registrar quem é o responsável pelo check-in, entretanto, o log só será feito caso o login tenha sido realizado via email e senha.
Se o parâmetro for deixado em branco, “Via API” será salvo no lugar.

Example URI
POST https://api.paytour.com.br/v2/atividades/545351815152154/checkIn?nome_app=App TurMobile
URI ParametersHide
vouhcerCode
string (required) Example: 545351815152154
Código de identificação do voucher

nome_app
string (optional) Example: App TurMobile
O nome do seu app que está consumindo a API

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 400Hide
Headers
Content-Type: application/json
Body
{
"success" => false,
"message' => "Pedido de loja diferente"
}
Response 404Hide
Headers
Content-Type: application/json
Body
{
"success" => false,
"message' => "Voucher não encontrado"
}
Response 500Hide
Headers
Content-Type: application/json
Body
{
"success" => false,
"message' => "Falha ao salvar o Check-In"
}
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"id": "01",
"pedido_id": "01",
"valor": "110.00",
"produto_id": "01",
"produto_codigo": "01",
"utilizado": "0",
"data_utilizacao": "2020-11-2020",
"quantidade": "1",
"dados_status": "preenchido",
"pedido_cliente_nome": "Matheus Alves de Andrade",
"atividade_nome": "Quadriciclo em Maracajaú",
"atividade_data": "2020-11-29",
"ativiade_hora_de": "12:00:00",
"ativiade_hora_ate": "null",
"ativiade_tipo": "turno",
"faixa_etaria_id": "206",
"faixa_etaria_nome": "Para 1 ou 2* pessoas",
"faixa_etaria_descricao": "*Quad compartilhado",
"opcionais": [
{
"id": "141",
"nome": "Máscara Top"
}
],
"atividade_cliente_nome": "null",
"voucher": "481584618265841658",
"time_label": "Tarde",
"operador_nome": "Matheus Alves"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identificador único do Item de Pedido"
},
"pedido_id": {
"type": "string",
"description": "Identificador único do Pedido"
},
"valor": {
"type": "string",
"description": "Valor desse item do pedido"
},
"produto_id": {
"type": "string",
"description": "Identificador único do produto ou passeio"
},
"produto_codigo": {
"type": "string",
"description": "Código único do produto ou passeio"
},
"utilizado": {
"type": "string",
"description": "1 quando esse voucher já foi utilizado"
},
"data_utilizacao": {
"type": "string",
"description": "Data na qual o voucher foi utilizado"
},
"quantidade": {
"type": "string",
"description": "Quantas unidades desse item foram adquiridas"
},
"dados_status": {
"type": "string",
"description": "Estado do formulário desse passeio"
},
"pedido_cliente_nome": {
"type": "string",
"description": "Nome do cliente que realizou o pedido"
},
"atividade_nome": {
"type": "string",
"description": "Título da Atividade"
},
"atividade_data": {
"type": "string",
"description": "Data da atividade"
},
"ativiade_hora_de": {
"type": "string",
"description": "Hora de início da atividade"
},
"ativiade_hora_ate": {
"type": "string",
"description": "Hora de término da atividade"
},
"ativiade_tipo": {
"type": "string",
"description": "Tipo de atividade"
},
"faixa_etaria_id": {
"type": "string",
"description": "Identificador único da faixa etária"
},
"faixa_etaria_nome": {
"type": "string",
"description": "Título da faixa etária"
},
"faixa_etaria_descricao": {
"type": "string",
"description": "Descrição da faixa etária"
},
"opcionais": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"141"
],
"description": "Identificador único desse opcional"
},
"nome": {
"type": "string",
"enum": [
"Máscara Top"
],
"description": "Título do opcional"
}
},
"required": [
"id",
"nome"
],
"additionalProperties": false
}
},
"atividade_cliente_nome": {
"type": "string",
"description": "Nome da pessoa que fará a Atividade caso preenchido"
},
"voucher": {
"type": "string",
"description": "Código do voucher"
},
"time_label": {
"type": "string",
"description": "Label do momento de realização da Atividade"
},
"operador_nome": {
"type": "string",
"description": "Nome do responsável pelo check-in ou null caso o check-in não tenha sido feito"
}
},
"required": [
"opcionais"
]
}
Dias Disponíveis ¶
Obtendo Dias Disponíveis ¶
Para obter quais dias um determinado passeio é realizado será nescessário fornecer previamente o mês e o ano como parâmetros da url, além do id do passeio.
Será retornado um array de strings. Cada string representa um dia que está disponível para que o passeio seja realizado. O formato da string de data é YYYY-MM-DD.

Dica ¶
Uma forma de otimizar a interação do usuário é carregar inicialmente os dias disponíveis para o mês atual, caso o usuário mude o calendário para um outro mês, mostre um ícone de loading e carregue o novo mês.
É recomendado guardar em cache os meses já obtidos para otimizar o funcionamento.

Listar Dias DisponíveisGET/passeios/{id}/dias{?mes,ano}
Example URI
GET https://api.paytour.com.br/v2/passeios/42/dias?mes=9&ano=2020
URI ParametersHide
id
int (required) Example: 42
O Id do passeio

mes
int (required) Example: 9
O Mês que se deseja realizar a busca

ano
int (required) Example: 2020
O Ano que se deseja realizar a busca

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
[
"2020-09-05",
"2020-09-06",
"2020-09-12",
"2020-09-13",
"2020-09-19",
"2020-09-20",
"2020-09-26",
"2020-09-27",
]
Horários Disponíveis ¶
Obtendo Horários Disponíveis ¶
Para obter quais horários estão diponíveis para um determindado passeio em um determinado dia será necessário fornecer o id do passeio e o dia desejado como parâmetros da URL.

Listar Horários DisponíveisGET/passeios/{id}/horarios{?dia}
Example URI
GET https://api.paytour.com.br/v2/passeios/42/horarios?dia=2020-09-05
URI ParametersHide
id
int (required) Example: 42
O Id do passeio

dia
string (required) Example: 2020-09-05
O dia escolhido no formato YYYY-MM-DD

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"id": 626,
"quantidade": 20,
"date": "2020-09-01",
"label": "12:00",
"non_dependent_count": 0,
"count": 0
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Identificador único do horário"
},
"quantidade": {
"type": "number",
"description": "Número de vagas disponíveis nesse horário para esse passeio"
},
"date": {
"type": "string",
"description": "Data selecionada no formato YYYY-MM-DD"
},
"label": {
"type": "string",
"description": "A string que descreve o horário"
},
"non_dependent_count": {
"type": "number",
"description": "Número de clientes não dependentes adicionados"
},
"count": {
"type": "number",
"description": "Número de clientes adicionados"
}
}
}
Faixas Etárias ¶
Obtendo Faixas Etárias ¶
Para obter quais faixas etárias estão diponíveis para um determindado passeio em um determinado dia será necessário fornecer o id do passeio e o dia desejado como parâmetros da URL.

Listar Faixas EtáriasGET/passeios/{id}/faixas-etarias{?dia}
Example URI
GET https://api.paytour.com.br/v2/passeios/42/faixas-etarias?dia=2020-09-05
URI ParametersHide
id
int (required) Example: 42
O Id do passeio

dia
string (required) Example: 2020-09-05
O dia escolhido no formato YYYY-MM-DD

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"id": 49,
"label": "Criança",
"dependente": "1",
"descricao": "Criança",
"preco": "50.00",
"preco_net": "50.00",
"preco_desconto": "40.00",
"faixa_etaria_id": 209,
"precos_sazonais": [
{
"id": 42,
"data_inicio": "2020-05-01",
"data_fim": "2020-08-31",
"preco_promocao_de": "50.00",
"preco": "40.00",
"preco_net": "40.00",
"preco_desconto": "40.00",
"promocao": "1"
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Identificador único da faixa etária para esse passeio"
},
"label": {
"type": "string",
"description": "O nome da faixa etária"
},
"dependente": {
"type": "string",
"description": "\"1\" se essa faixa etária é dependente de um responsável para fazer o passeio"
},
"descricao": {
"type": "string",
"description": "A string que descreve o a faixa"
},
"preco": {
"type": "string",
"description": "O preço da faixa etária (Preço que deve ser cobrado por pessoa nesse passeio)"
},
"preco_net": {
"type": "string",
"description": "O preço de venda para afiliados da loja"
},
"preco_desconto": {
"type": "string",
"description": "Preço de venda caso seja selecionado pagamento em depósito"
},
"faixa_etaria_id": {
"type": "number",
"description": "Identificador único da faixa etária"
},
"precos_sazonais": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
42
],
"description": "Identificador único"
},
"data_inicio": {
"type": "string",
"enum": [
"2020-05-01"
],
"description": "Data de início do preço sazonal"
},
"data_fim": {
"type": "string",
"enum": [
"2020-08-31"
],
"description": "Data de final do preço sazonal"
},
"preco_promocao_de": {
"type": "string",
"enum": [
"50.00"
],
"description": "Quanto custava antes do período começar"
},
"preco": {
"type": "string",
"enum": [
"40.00"
],
"description": "Quanto custa durante o período"
},
"preco_net": {
"type": "string",
"enum": [
"40.00"
],
"description": "Quanto custa durante o período para afiliados"
},
"preco_desconto": {
"type": "string",
"enum": [
"40.00"
],
"description": "Preço de venda caso seja selecionado pagamento em depósito"
},
"promocao": {
"type": "string",
"enum": [
"1"
],
"description": "\"1\" se o período é promocional"
}
},
"required": [
"id",
"data_inicio",
"data_fim",
"preco_promocao_de",
"preco",
"preco_net",
"preco_desconto",
"promocao"
],
"additionalProperties": false
},
"description": "A lista de preços sazonais"
}
},
"required": [
"precos_sazonais"
]
}
Cupons ¶
Obtendo Cupons ¶
Se o cliente souber um código de cupom, é possível obter informações usando esse código através desse endpoint. Se o código não for passado, será feita uma listagem de todos os cupons da loja. Aplique o desconto de acordo com o overview

Atenção ¶
Fique atento as regras para aplicação do cupom:

A data atual deve estar dentro da faixa definida por valido_de e valido_ate

O cliente atual não deve ter usado o cupom mais que quantidade_por_cliente vezes

Se um passeio possui data de realização dentro de uma das faixas do faixas_datas_invalidas então esse passeio deve ser desconsiderado e o cupom será somente parcialmente aplicado a compra

Se produtos_excecao está configurado como incluidos e o id do passeio não está na lista, então esse passeio deve ser desconsiderado e o cupom será somente parcialmente aplicado a compra

Se produtos_excecao está configurado como excluidos e o id do passeio está na lista, então esse passeio deve ser desconsiderado e o cupom será somente parcialmente aplicado a compra

Se aplicar_opcionais for 0 então o desconto deve desconsiderar os opcionais

O valor da soma de todos os passeios que passaram nos teste mais os opcionais, caso aplicáveis, deve ser maior ou igual a valor_minimo_compra

Obter InformaçõesGET/cupons{?cupom,page,perPage}
Example URI
GET https://api.paytour.com.br/v2/cupons?cupom=CARNAVAL10&page=1&perPage=20
URI ParametersHide
cupom
string (optional) Example: CARNAVAL10
O código do cupom de desconto

page
int (required) Example: 1
A página que se deseja obter

perPage
int (required) Example: 20
Número de itens por página sendo no máximo 100

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 404Hide
Headers
Content-Type: application/json
Body
{
"message": "Resource not found.",
"code": 64
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"itens": [
{
"id": 42,
"loja_id": "55",
"codigo_cupom": "CARNAVAL10",
"descricao": "Cupom de desconto do carnaval",
"tipo": "porcentagem",
"valor": "10.00",
"valor_minimo_compra": "50.00",
"quantidade": 20,
"quantidade_por_cliente": 2,
"valido_de": "2019-04-16",
"valido_ate": "2020-12-31",
"produtos_excecao": {
"regra": "incluidos",
"lista": [
1
]
},
"faixas_datas_invalidas": [
{
"tipo": "excludente",
"inicio": "07/04/2021",
"fim": "30/04/2021"
}
],
"aplicar_opcionais": 1,
"afiliado_id": 70
}
],
"info": {
"total": 350,
"pagina": 1,
"total_paginas": 35
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "itens": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "enum": [
              42
            ],
            "description": "Identificador único"
          },
          "loja_id": {
            "type": "string",
            "enum": [
              "55"
            ],
            "description": "Identificador único da loja"
          },
          "codigo_cupom": {
            "type": "string",
            "enum": [
              "CARNAVAL10"
            ],
            "description": "Código desse cupom"
          },
          "descricao": {
            "type": "string",
            "enum": [
              "Cupom de desconto do carnaval"
            ],
            "description": "Uma descrição desse cupom de desconto"
          },
          "tipo": {
            "type": "string",
            "enum": [
              "porcentagem"
            ],
            "description": "Pode ser `valor` ou `porcentagem`"
          },
          "valor": {
            "type": "string",
            "enum": [
              "10.00"
            ],
            "description": "Valor do desconto"
          },
          "valor_minimo_compra": {
            "type": "string",
            "enum": [
              "50.00"
            ],
            "description": "O valor mínimo da soma de todos os passeios"
          },
          "quantidade": {
            "type": "number",
            "enum": [
              20
            ],
            "description": "Quantidade disponível"
          },
          "quantidade_por_cliente": {
            "type": "number",
            "enum": [
              2
            ],
            "description": "Quantas vezes pode ser aplicado para compras do mesmo cliente"
          },
          "valido_de": {
            "type": "string",
            "enum": [
              "2019-04-16"
            ],
            "description": "Data inicial de quando esse cupom começa a valer"
          },
          "valido_ate": {
            "type": "string",
            "enum": [
              "2020-12-31"
            ],
            "description": "Data de validade do cupom"
          },
          "produtos_excecao": {
            "type": "object",
            "properties": {
              "regra": {
                "type": "string",
                "enum": [
                  "incluidos",
                  "excluidos",
                  "incluidos"
                ],
                "description": "Regra a ser seguida, apenas estes ou exceto estes"
              },
              "lista": {
                "type": "array",
                "items": {
                  "type": "number",
                  "enum": [
                    0
                  ]
                },
                "description": "Lista de ids dos produtos permitidos ou proibidos dependendo da regra"
              }
            },
            "required": [
              "regra",
              "lista"
            ],
            "additionalProperties": false,
            "description": "Lista de produtos o qual o cupom não se aplica ou somente se aplica, dependendo da regra"
          },
          "faixas_datas_invalidas": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "tipo": {
                  "type": "string",
                  "enum": [
                    "excludente",
                    "excludente"
                  ],
                  "description": "Tipo de faixa, no momento somente excludente existe"
                },
                "inicio": {
                  "type": "string",
                  "enum": [
                    "07/04/2021"
                  ],
                  "description": "Data de inicio desta faixa"
                },
                "fim": {
                  "type": "string",
                  "enum": [
                    "30/04/2021"
                  ],
                  "description": "Data final desta faixa"
                }
              },
              "required": [
                "tipo",
                "inicio",
                "fim"
              ],
              "additionalProperties": false
            },
            "description": "Regra de datas de passeios onde o cupom não pode ser aplicado"
          },
          "aplicar_opcionais": {
            "type": "number",
            "enum": [
              1
            ],
            "description": "1 se deve aplicar o desconto também nos opcionais, 0 caso contrário"
          },
          "afiliado_id": {
            "type": "number",
            "enum": [
              70
            ],
            "description": "Id do afiliado associado a esse cupom ou null caso não esteja associado"
          }
        },
        "required": [
          "id",
          "loja_id",
          "codigo_cupom",
          "descricao",
          "tipo",
          "valor",
          "valor_minimo_compra",
          "quantidade",
          "quantidade_por_cliente",
          "valido_de",
          "valido_ate",
          "produtos_excecao",
          "faixas_datas_invalidas",
          "aplicar_opcionais",
          "afiliado_id"
        ],
        "additionalProperties": false
      }
    },
    "info": {
      "type": "object",
      "properties": {
        "total": {
          "type": "number",
          "description": "Quantidade total de registros"
        },
        "pagina": {
          "type": "number",
          "description": "Página atual"
        },
        "total_paginas": {
          "type": "number",
          "description": "Quantidade de páginas"
        }
      }
    }
  },
  "required": [
    "itens"
  ]
}
Criando  ¶
CriarPOST/cupons
Example URI
POST https://api.paytour.com.br/v2/cupons
RequestHide
Headers
Authorization: Bearer <authorization-token>
Body
{
  "id": 42,
  "loja_id": "55",
  "codigo_cupom": "CARNAVAL10",
  "descricao": "Cupom de desconto do carnaval",
  "tipo": "porcentagem",
  "valor": "10.00",
  "valor_minimo_compra": "50.00",
  "quantidade": 20,
  "quantidade_por_cliente": 2,
  "valido_de": "2019-04-16",
  "valido_ate": "2020-12-31",
  "produtos_excecao": {
    "regra": "incluidos",
    "lista": [
      1
    ]
  },
  "faixas_datas_invalidas": [
    {
      "tipo": "excludente",
      "inicio": "07/04/2021",
      "fim": "30/04/2021"
    }
  ],
  "aplicar_opcionais": 1,
  "afiliado_id": 70,
  "_desconto_sobre_total_com_desconto_por_metodo_de_pagamento": "10.00",
  "_desconto_sobre_total_sem_desconto_por_metodo_de_pagamento": "9.00"
}
Schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "Identificador único"
    },
    "loja_id": {
      "type": "string",
      "description": "Identificador único da loja"
    },
    "codigo_cupom": {
      "type": "string",
      "description": "Código desse cupom"
    },
    "descricao": {
      "type": "string",
      "description": "Uma descrição desse cupom de desconto"
    },
    "tipo": {
      "type": "string",
      "description": "Pode ser `valor` ou `porcentagem`"
    },
    "valor": {
      "type": "string",
      "description": "Valor do desconto"
    },
    "valor_minimo_compra": {
      "type": "string",
      "description": "O valor mínimo da soma de todos os passeios"
    },
    "quantidade": {
      "type": "number",
      "description": "Quantidade disponível"
    },
    "quantidade_por_cliente": {
      "type": "number",
      "description": "Quantas vezes pode ser aplicado para compras do mesmo cliente"
    },
    "valido_de": {
      "type": "string",
      "description": "Data inicial de quando esse cupom começa a valer"
    },
    "valido_ate": {
      "type": "string",
      "description": "Data de validade do cupom"
    },
    "produtos_excecao": {
      "type": "object",
      "properties": {
        "regra": {
          "enum": [
            "incluidos",
            "excluidos",
            "incluidos"
          ],
          "description": "Regra a ser seguida, apenas estes ou exceto estes"
        },
        "lista": {
          "type": "array",
          "items": {
            "type": "number"
          },
          "description": "Lista de ids dos produtos permitidos ou proibidos dependendo da regra"
        }
      },
      "description": "Lista de produtos o qual o cupom não se aplica ou somente se aplica, dependendo da regra"
    },
    "faixas_datas_invalidas": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "tipo": {
            "enum": [
              "excludente",
              "excludente"
            ],
            "description": "Tipo de faixa, no momento somente excludente existe"
          },
          "inicio": {
            "type": "string",
            "description": "Data de inicio desta faixa"
          },
          "fim": {
            "type": "string",
            "description": "Data final desta faixa"
          }
        }
      },
      "description": "Regra de datas de passeios onde o cupom não pode ser aplicado"
    },
    "aplicar_opcionais": {
      "type": "number",
      "description": "1 se deve aplicar o desconto também nos opcionais, 0 caso contrário"
    },
    "afiliado_id": {
      "type": "number",
      "description": "Id do afiliado associado a esse cupom ou null caso não esteja associado"
    },
    "_desconto_sobre_total_com_desconto_por_metodo_de_pagamento": {
      "type": "string",
      "description": "Valor do desconto em reais a ser aplicado na compra feita com método de pagamento promocional"
    },
    "_desconto_sobre_total_sem_desconto_por_metodo_de_pagamento": {
      "type": "string",
      "description": "Valor do desconto em reais a ser aplicado na compra feita sem método de pagamento promocional"
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 201Hide
Headers
Content-Type: application/json
Body
{
"id": 42,
"loja_id": "55",
"codigo_cupom": "CARNAVAL10",
"descricao": "Cupom de desconto do carnaval",
"tipo": "porcentagem",
"valor": "10.00",
"valor_minimo_compra": "50.00",
"quantidade": 20,
"quantidade_por_cliente": 2,
"valido_de": "2019-04-16",
"valido_ate": "2020-12-31",
"produtos_excecao": {
"regra": "incluidos",
"lista": [
1
]
},
"faixas_datas_invalidas": [
{
"tipo": "excludente",
"inicio": "07/04/2021",
"fim": "30/04/2021"
}
],
"aplicar_opcionais": 1,
"afiliado_id": 70,
"\_desconto_sobre_total_com_desconto_por_metodo_de_pagamento": "10.00",
"\_desconto_sobre_total_sem_desconto_por_metodo_de_pagamento": "9.00"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Identificador único"
},
"loja_id": {
"type": "string",
"description": "Identificador único da loja"
},
"codigo_cupom": {
"type": "string",
"description": "Código desse cupom"
},
"descricao": {
"type": "string",
"description": "Uma descrição desse cupom de desconto"
},
"tipo": {
"type": "string",
"description": "Pode ser `valor` ou `porcentagem`"
},
"valor": {
"type": "string",
"description": "Valor do desconto"
},
"valor_minimo_compra": {
"type": "string",
"description": "O valor mínimo da soma de todos os passeios"
},
"quantidade": {
"type": "number",
"description": "Quantidade disponível"
},
"quantidade_por_cliente": {
"type": "number",
"description": "Quantas vezes pode ser aplicado para compras do mesmo cliente"
},
"valido_de": {
"type": "string",
"description": "Data inicial de quando esse cupom começa a valer"
},
"valido_ate": {
"type": "string",
"description": "Data de validade do cupom"
},
"produtos_excecao": {
"type": "object",
"properties": {
"regra": {
"type": "string",
"enum": [
"incluidos",
"excluidos",
"incluidos"
],
"description": "Regra a ser seguida, apenas estes ou exceto estes"
},
"lista": {
"type": "array",
"items": {
"type": "number",
"enum": [
0
]
},
"description": "Lista de ids dos produtos permitidos ou proibidos dependendo da regra"
}
},
"required": [
"lista"
],
"description": "Lista de produtos o qual o cupom não se aplica ou somente se aplica, dependendo da regra"
},
"faixas_datas_invalidas": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tipo": {
"type": "string",
"enum": [
"excludente",
"excludente"
],
"description": "Tipo de faixa, no momento somente excludente existe"
},
"inicio": {
"type": "string",
"enum": [
"07/04/2021"
],
"description": "Data de inicio desta faixa"
},
"fim": {
"type": "string",
"enum": [
"30/04/2021"
],
"description": "Data final desta faixa"
}
},
"required": [
"tipo",
"inicio",
"fim"
],
"additionalProperties": false
},
"description": "Regra de datas de passeios onde o cupom não pode ser aplicado"
},
"aplicar_opcionais": {
"type": "number",
"description": "1 se deve aplicar o desconto também nos opcionais, 0 caso contrário"
},
"afiliado_id": {
"type": "number",
"description": "Id do afiliado associado a esse cupom ou null caso não esteja associado"
},
"\_desconto_sobre_total_com_desconto_por_metodo_de_pagamento": {
"type": "string",
"description": "Valor do desconto em reais a ser aplicado na compra feita com método de pagamento promocional"
},
"\_desconto_sobre_total_sem_desconto_por_metodo_de_pagamento": {
"type": "string",
"description": "Valor do desconto em reais a ser aplicado na compra feita sem método de pagamento promocional"
}
},
"required": [
"faixas_datas_invalidas"
]
}
Manipulando ¶
AtualizarPUT/cupons/{id}
Example URI
PUT https://api.paytour.com.br/v2/cupons/42
URI ParametersHide
id
int (required) Example: 42
O id do cupom

RequestHide
Headers
Authorization: Bearer <authorization-token>
Body
{
"id": 42,
"loja_id": "55",
"codigo_cupom": "CARNAVAL10",
"descricao": "Cupom de desconto do carnaval",
"tipo": "porcentagem",
"valor": "10.00",
"valor_minimo_compra": "50.00",
"quantidade": 20,
"quantidade_por_cliente": 2,
"valido_de": "2019-04-16",
"valido_ate": "2020-12-31",
"produtos_excecao": {
"regra": "incluidos",
"lista": [
1
]
},
"faixas_datas_invalidas": [
{
"tipo": "excludente",
"inicio": "07/04/2021",
"fim": "30/04/2021"
}
],
"aplicar_opcionais": 1,
"afiliado_id": 70,
"\_desconto_sobre_total_com_desconto_por_metodo_de_pagamento": "10.00",
"\_desconto_sobre_total_sem_desconto_por_metodo_de_pagamento": "9.00"
}
Schema
{
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Identificador único"
},
"loja_id": {
"type": "string",
"description": "Identificador único da loja"
},
"codigo_cupom": {
"type": "string",
"description": "Código desse cupom"
},
"descricao": {
"type": "string",
"description": "Uma descrição desse cupom de desconto"
},
"tipo": {
"type": "string",
"description": "Pode ser `valor` ou `porcentagem`"
},
"valor": {
"type": "string",
"description": "Valor do desconto"
},
"valor_minimo_compra": {
"type": "string",
"description": "O valor mínimo da soma de todos os passeios"
},
"quantidade": {
"type": "number",
"description": "Quantidade disponível"
},
"quantidade_por_cliente": {
"type": "number",
"description": "Quantas vezes pode ser aplicado para compras do mesmo cliente"
},
"valido_de": {
"type": "string",
"description": "Data inicial de quando esse cupom começa a valer"
},
"valido_ate": {
"type": "string",
"description": "Data de validade do cupom"
},
"produtos_excecao": {
"type": "object",
"properties": {
"regra": {
"enum": [
"incluidos",
"excluidos",
"incluidos"
],
"description": "Regra a ser seguida, apenas estes ou exceto estes"
},
"lista": {
"type": "array",
"items": {
"type": "number"
},
"description": "Lista de ids dos produtos permitidos ou proibidos dependendo da regra"
}
},
"description": "Lista de produtos o qual o cupom não se aplica ou somente se aplica, dependendo da regra"
},
"faixas_datas_invalidas": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tipo": {
"enum": [
"excludente",
"excludente"
],
"description": "Tipo de faixa, no momento somente excludente existe"
},
"inicio": {
"type": "string",
"description": "Data de inicio desta faixa"
},
"fim": {
"type": "string",
"description": "Data final desta faixa"
}
}
},
"description": "Regra de datas de passeios onde o cupom não pode ser aplicado"
},
"aplicar_opcionais": {
"type": "number",
"description": "1 se deve aplicar o desconto também nos opcionais, 0 caso contrário"
},
"afiliado_id": {
"type": "number",
"description": "Id do afiliado associado a esse cupom ou null caso não esteja associado"
},
"\_desconto_sobre_total_com_desconto_por_metodo_de_pagamento": {
"type": "string",
"description": "Valor do desconto em reais a ser aplicado na compra feita com método de pagamento promocional"
},
"\_desconto_sobre_total_sem_desconto_por_metodo_de_pagamento": {
"type": "string",
"description": "Valor do desconto em reais a ser aplicado na compra feita sem método de pagamento promocional"
}
},
"$schema": "http://json-schema.org/draft-04/schema#"
}
Response  401Hide
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200Hide
Headers
Content-Type: application/json
Body
{
  "id": 42,
  "loja_id": "55",
  "codigo_cupom": "CARNAVAL10",
  "descricao": "Cupom de desconto do carnaval",
  "tipo": "porcentagem",
  "valor": "10.00",
  "valor_minimo_compra": "50.00",
  "quantidade": 20,
  "quantidade_por_cliente": 2,
  "valido_de": "2019-04-16",
  "valido_ate": "2020-12-31",
  "produtos_excecao": {
    "regra": "incluidos",
    "lista": [
      1
    ]
  },
  "faixas_datas_invalidas": [
    {
      "tipo": "excludente",
      "inicio": "07/04/2021",
      "fim": "30/04/2021"
    }
  ],
  "aplicar_opcionais": 1,
  "afiliado_id": 70,
  "_desconto_sobre_total_com_desconto_por_metodo_de_pagamento": "10.00",
  "_desconto_sobre_total_sem_desconto_por_metodo_de_pagamento": "9.00"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Identificador único"
},
"loja_id": {
"type": "string",
"description": "Identificador único da loja"
},
"codigo_cupom": {
"type": "string",
"description": "Código desse cupom"
},
"descricao": {
"type": "string",
"description": "Uma descrição desse cupom de desconto"
},
"tipo": {
"type": "string",
"description": "Pode ser `valor` ou `porcentagem`"
},
"valor": {
"type": "string",
"description": "Valor do desconto"
},
"valor_minimo_compra": {
"type": "string",
"description": "O valor mínimo da soma de todos os passeios"
},
"quantidade": {
"type": "number",
"description": "Quantidade disponível"
},
"quantidade_por_cliente": {
"type": "number",
"description": "Quantas vezes pode ser aplicado para compras do mesmo cliente"
},
"valido_de": {
"type": "string",
"description": "Data inicial de quando esse cupom começa a valer"
},
"valido_ate": {
"type": "string",
"description": "Data de validade do cupom"
},
"produtos_excecao": {
"type": "object",
"properties": {
"regra": {
"type": "string",
"enum": [
"incluidos",
"excluidos",
"incluidos"
],
"description": "Regra a ser seguida, apenas estes ou exceto estes"
},
"lista": {
"type": "array",
"items": {
"type": "number",
"enum": [
0
]
},
"description": "Lista de ids dos produtos permitidos ou proibidos dependendo da regra"
}
},
"required": [
"lista"
],
"description": "Lista de produtos o qual o cupom não se aplica ou somente se aplica, dependendo da regra"
},
"faixas_datas_invalidas": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tipo": {
"type": "string",
"enum": [
"excludente",
"excludente"
],
"description": "Tipo de faixa, no momento somente excludente existe"
},
"inicio": {
"type": "string",
"enum": [
"07/04/2021"
],
"description": "Data de inicio desta faixa"
},
"fim": {
"type": "string",
"enum": [
"30/04/2021"
],
"description": "Data final desta faixa"
}
},
"required": [
"tipo",
"inicio",
"fim"
],
"additionalProperties": false
},
"description": "Regra de datas de passeios onde o cupom não pode ser aplicado"
},
"aplicar_opcionais": {
"type": "number",
"description": "1 se deve aplicar o desconto também nos opcionais, 0 caso contrário"
},
"afiliado_id": {
"type": "number",
"description": "Id do afiliado associado a esse cupom ou null caso não esteja associado"
},
"\_desconto_sobre_total_com_desconto_por_metodo_de_pagamento": {
"type": "string",
"description": "Valor do desconto em reais a ser aplicado na compra feita com método de pagamento promocional"
},
"\_desconto_sobre_total_sem_desconto_por_metodo_de_pagamento": {
"type": "string",
"description": "Valor do desconto em reais a ser aplicado na compra feita sem método de pagamento promocional"
}
},
"required": [
"faixas_datas_invalidas"
]
}
ApagarDELETE/cupons/{id}
Example URI
DELETE https://api.paytour.com.br/v2/cupons/42
URI ParametersHide
id
int (required) Example: 42
O id do cupom

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Validando Cupons ¶
Devido a complexidade de validar e aplicar o cupom, esta api fornece um endpoint que permite não só realizar a validação incluindo todas as regras como também retorna qual o valor de desconto a ser aplicado. É recomendado o uso deste endpoint.

validar CupomPOST/cupons/validate
O retorno deste endpoint em caso de cupom não aplicável será um status 400 com a mensagem de erro contendo o motivo no corpo. Em caso de sucesso o cupom será retornado com 2 campos extras:

\_desconto_sobre_total_com_desconto_por_metodo_de_pagamento contendo o valor de desconto(R$) a ser aplicado se o pedido for fechado com método de pagamento que oferece desconto na loja

\_desconto_sobre_total_sem_desconto_por_metodo_de_pagamentocontendo o valor de desconto(R$) a ser aplicado se o pedido for fechado sem método de pagamento que oferece desconto na loja

Example URI
POST https://api.paytour.com.br/v2/cupons/validate
RequestHide
Headers
Authorization: Bearer <authorization-token>
Body
{
"cupom": "DESCONTO10",
"valor_opcionais": "50.00",
"itens": [
{
"id": 56,
"name": "Passeio de Quadriciclo",
"value": 50,
"value_discount_method": 40,
"date": "08/04/2021"
}
]
}
Schema
{
"type": "object",
"properties": {
"cupom": {
"type": "string",
"description": "O código do cupom"
},
"valor_opcionais": {
"type": "string",
"description": "A soma dos valores dos opcionais adicionados a compra"
},
"itens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Id do produto ou passeio"
},
"name": {
"type": "string",
"description": "Nome do produto ou passeio"
},
"value": {
"type": "number",
"description": "Valor do passeio sem desconto pro método de pagamento"
},
"value_discount_method": {
"type": "number",
"description": "Valor do passeio com desconto pro método de pagamento"
},
"date": {
"type": "string",
"description": "Data de relização do passeio ou null em caso de ser produto"
}
}
},
"description": "OS itens da compra"
}
},
"$schema": "http://json-schema.org/draft-04/schema#"
}
Response  400Hide
Headers
Content-Type: application/json
Body
{
  "message": "O valor mínimo dos itens aplicáveis deve ser de R$ 10,00."
}
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"id": 42,
"loja_id": "55",
"codigo_cupom": "CARNAVAL10",
"descricao": "Cupom de desconto do carnaval",
"tipo": "porcentagem",
"valor": "10.00",
"valor_minimo_compra": "50.00",
"quantidade": 20,
"quantidade_por_cliente": 2,
"valido_de": "2019-04-16",
"valido_ate": "2020-12-31",
"produtos_excecao": {
"regra": "incluidos",
"lista": [
1
]
},
"faixas_datas_invalidas": [
{
"tipo": "excludente",
"inicio": "07/04/2021",
"fim": "30/04/2021"
}
],
"aplicar_opcionais": 1,
"afiliado_id": 70,
"\_desconto_sobre_total_com_desconto_por_metodo_de_pagamento": "10.00",
"\_desconto_sobre_total_sem_desconto_por_metodo_de_pagamento": "9.00"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Identificador único"
},
"loja_id": {
"type": "string",
"description": "Identificador único da loja"
},
"codigo_cupom": {
"type": "string",
"description": "Código desse cupom"
},
"descricao": {
"type": "string",
"description": "Uma descrição desse cupom de desconto"
},
"tipo": {
"type": "string",
"description": "Pode ser `valor` ou `porcentagem`"
},
"valor": {
"type": "string",
"description": "Valor do desconto"
},
"valor_minimo_compra": {
"type": "string",
"description": "O valor mínimo da soma de todos os passeios"
},
"quantidade": {
"type": "number",
"description": "Quantidade disponível"
},
"quantidade_por_cliente": {
"type": "number",
"description": "Quantas vezes pode ser aplicado para compras do mesmo cliente"
},
"valido_de": {
"type": "string",
"description": "Data inicial de quando esse cupom começa a valer"
},
"valido_ate": {
"type": "string",
"description": "Data de validade do cupom"
},
"produtos_excecao": {
"type": "object",
"properties": {
"regra": {
"type": "string",
"enum": [
"incluidos",
"excluidos",
"incluidos"
],
"description": "Regra a ser seguida, apenas estes ou exceto estes"
},
"lista": {
"type": "array",
"items": {
"type": "number",
"enum": [
0
]
},
"description": "Lista de ids dos produtos permitidos ou proibidos dependendo da regra"
}
},
"required": [
"lista"
],
"description": "Lista de produtos o qual o cupom não se aplica ou somente se aplica, dependendo da regra"
},
"faixas_datas_invalidas": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tipo": {
"type": "string",
"enum": [
"excludente",
"excludente"
],
"description": "Tipo de faixa, no momento somente excludente existe"
},
"inicio": {
"type": "string",
"enum": [
"07/04/2021"
],
"description": "Data de inicio desta faixa"
},
"fim": {
"type": "string",
"enum": [
"30/04/2021"
],
"description": "Data final desta faixa"
}
},
"required": [
"tipo",
"inicio",
"fim"
],
"additionalProperties": false
},
"description": "Regra de datas de passeios onde o cupom não pode ser aplicado"
},
"aplicar_opcionais": {
"type": "number",
"description": "1 se deve aplicar o desconto também nos opcionais, 0 caso contrário"
},
"afiliado_id": {
"type": "number",
"description": "Id do afiliado associado a esse cupom ou null caso não esteja associado"
},
"\_desconto_sobre_total_com_desconto_por_metodo_de_pagamento": {
"type": "string",
"description": "Valor do desconto em reais a ser aplicado na compra feita com método de pagamento promocional"
},
"\_desconto_sobre_total_sem_desconto_por_metodo_de_pagamento": {
"type": "string",
"description": "Valor do desconto em reais a ser aplicado na compra feita sem método de pagamento promocional"
}
},
"required": [
"faixas_datas_invalidas"
]
}
Destinos ¶
Obtendo Destinos ¶
Este endpoint fornece uma lista de destinos para onde os passeios vão ou são realizados. Diferente dos demais endpoints, este não requer login.
Os campos da query são todos opcionais. Se nenhum for passado, todos os destinos serão retornados.
O retorno estará sempre paginado, sendo 10 destinos por páginas.

Listar DestinosGET/destinos{?page,q,loja_id,latitude,longitude,range}
Example URI
GET https://api.paytour.com.br/v2/destinos?page=1&q=Natal&loja_id=42&latitude=-5.79448&longitude=-35.211&range=100
URI ParametersHide
page
int (required) Example: 1
A página que se deseja obter

q
string (required) Example: Natal
O texto de busca pelo nome do local/cidade/estado/país

loja_id
int (required) Example: 42
O id da loja que usa os destinos sendo buscados

latitude
string (required) Example: -5.79448
A latitude de um ponto no globo a ser usado na busca

longitude
string (required) Example: -35.211
A longitude de um ponto no globo a ser usado na busca

range
int (required) Example: 100
A distância, em metros, que os locais sendo buscados devem estar do ponto definido na latitude e longitude

Response 200Hide
Headers
Content-Type: application/json
Body
{
"results": [
{
"id": "55",
"titulo": "Praia do Meio",
"cidade": "Natal",
"estado": "Rio Grande do Norte",
"pais": "Brasil",
"latitude": "-5.79448",
"longitude": "-35.211",
"distancia": "10.56"
}
],
"pagination": {
"more": true,
"pages": 3,
"currentPage": 1
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"55"
],
"description": "Identificação única do destino"
},
"titulo": {
"type": "string",
"enum": [
"Praia do Meio"
],
"description": "O título do local, pode ser null"
},
"cidade": {
"type": "string",
"enum": [
"Natal"
],
"description": "A cidade do destino"
},
"estado": {
"type": "string",
"enum": [
"Rio Grande do Norte"
],
"description": "O estado do destino"
},
"pais": {
"type": "string",
"enum": [
"Brasil"
],
"description": "O país do destino"
},
"latitude": {
"type": "string",
"enum": [
"-5.79448"
],
"description": "A latitude da geolocalização do destino"
},
"longitude": {
"type": "string",
"enum": [
"-35.211"
],
"description": "A longitude da geolocalização do destino"
},
"distancia": {
"type": "string",
"enum": [
"10.56"
],
"description": "A distância entre o ponto usado na busca e esse local em metros, não estará presente caso a busca não inclua a latitude e longitude"
}
},
"required": [
"id",
"titulo",
"cidade",
"estado",
"pais",
"latitude",
"longitude"
],
"additionalProperties": false
},
"description": "A lista de destinos filtrda pelos parâmetros da busca"
},
"pagination": {
"type": "object",
"properties": {
"more": {
"type": "boolean",
"description": "Se tem mais destinos a serem listados pela paginação"
},
"pages": {
"type": "number",
"description": "O número de páginas disponíveis"
},
"currentPage": {
"type": "number",
"description": "A página atual"
}
},
"description": "As informação de paginação"
}
},
"required": [
"results"
]
}
Detalhando Destino ¶
Este endpoint retorna as informações de um destino dado o seu id

Detalhar PedidosGET/destinos/{id}
Example URI
GET https://api.paytour.com.br/v2/destinos/42
URI ParametersHide
id
int (required) Example: 42
O id do destino a ser detalhado

Response 200Hide
Headers
Content-Type: application/json
Body
{
"id": "55",
"titulo": "Praia do Meio",
"cidade": "Natal",
"estado": "Rio Grande do Norte",
"pais": "Brasil",
"latitude": "-5.79448",
"longitude": "-35.211"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identificação única do destino"
},
"titulo": {
"type": "string",
"description": "O título do local, pode ser null"
},
"cidade": {
"type": "string",
"description": "A cidade do destino"
},
"estado": {
"type": "string",
"description": "O estado do destino"
},
"pais": {
"type": "string",
"description": "O país do destino"
},
"latitude": {
"type": "string",
"description": "A latitude da geolocalização do destino"
},
"longitude": {
"type": "string",
"description": "A longitude da geolocalização do destino"
}
}
}
Carrinhos ¶
Listando Carrinhos ¶
Para listar os carrinhos da loja, realize uma requisição GET para este endpoint, entretanto o resultado estará paginado.

Listar CarrinhosGET/carrinhos{?page,perPage}
Example URI
GET https://api.paytour.com.br/v2/carrinhos?page=1&perPage=20
URI ParametersHide
page
int (required) Example: 1
A página que se deseja obter

perPage
int (required) Example: 20
Número de carrinhos por página sendo no máximo 100

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"info": {
"total": 3,
"pagina": 1,
"total_paginas": 1,
"por_pagina": 20
},
"itens": [
{
"id": "03",
"codigo": "c3c95f202db3d84ba81756c6ac13878b6ff2712432c8764fb890cfc9a666c547",
"valido_ate": "2022-02-22 14:00:00",
"\_link": "https://example.com/carrinho-de-compras/snapshot/c3c95f202db3d84ba81756c6ac13878b6ff2712432c8764fb890cfc9a666c547",
"itens": [
{
"id": "692",
"disponibilidade": {
"id": "18634972",
"faixas_etarias": [
{
"id": "27579",
"quantidade": 1
}
]
}
}
]
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"info": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "O total de carrinhos existentes"
},
"pagina": {
"type": "number",
"description": "A página atual"
},
"total_paginas": {
"type": "number",
"description": "O total de páginas disponíveis"
},
"por_pagina": {
"type": "number",
"description": "O número de carrinhos por página"
}
},
"description": "As informações sobre a listagem"
},
"itens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"03"
],
"description": "Identificador único do carrinho"
},
"codigo": {
"type": "string",
"enum": [
"c3c95f202db3d84ba81756c6ac13878b6ff2712432c8764fb890cfc9a666c547"
],
"description": "Código(SHA256) único e aleatório desse carrinho"
},
"valido_ate": {
"type": "string",
"enum": [
"2022-02-22 14:00:00"
],
"description": "Data de validade desse carrinho"
},
"\_link": {
"type": "string",
"enum": [
"https://example.com/carrinho-de-compras/snapshot/c3c95f202db3d84ba81756c6ac13878b6ff2712432c8764fb890cfc9a666c547"
],
"description": "O link para acessar este carrinho na loja"
},
"itens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"692"
],
"description": "O id do produto que este item representa"
},
"disponibilidade": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"18634972"
],
"description": "O id da disponibilidade sendo usada"
},
"faixas_etarias": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"27579"
],
"description": "O id da faixa etária"
},
"quantidade": {
"type": "number",
"enum": [
1
],
"description": "O número de pessoas nessa faixa etária"
}
},
"required": [
"id",
"quantidade"
],
"additionalProperties": false
},
"description": "A lista de faixas etárias dos utilizadores deste passeio"
}
},
"required": [
"id",
"faixas_etarias"
],
"additionalProperties": false,
"description": "A disponibilidade que este item usa"
}
},
"required": [
"id",
"disponibilidade"
],
"additionalProperties": false
},
"description": "A lista de itens deste carrinho"
}
},
"required": [
"id",
"codigo",
"valido_ate",
"_link",
"itens"
],
"additionalProperties": false
},
"description": "A lista de carrinhos"
}
},
"required": [
"itens"
]
}
Operações com um Carrinho ¶
Este endpoint permite obter informações ou apagar um carrinho específico dado seu id.

Detalhar CarrinhoGET/carrinhos/{id}
Example URI
GET https://api.paytour.com.br/v2/carrinhos/42
URI ParametersHide
id
int (required) Example: 42
O id do carrinho

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"id": "03",
"codigo": "c3c95f202db3d84ba81756c6ac13878b6ff2712432c8764fb890cfc9a666c547",
"valido_ate": "2022-02-22 14:00:00",
"\_link": "https://example.com/carrinho-de-compras/snapshot/c3c95f202db3d84ba81756c6ac13878b6ff2712432c8764fb890cfc9a666c547",
"itens": [
{
"id": "692",
"disponibilidade": {
"id": "18634972",
"faixas_etarias": [
{
"id": "27579",
"quantidade": 1
}
]
}
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identificador único do carrinho"
},
"codigo": {
"type": "string",
"description": "Código(SHA256) único e aleatório desse carrinho"
},
"valido_ate": {
"type": "string",
"description": "Data de validade desse carrinho"
},
"\_link": {
"type": "string",
"description": "O link para acessar este carrinho na loja"
},
"itens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"692"
],
"description": "O id do produto que este item representa"
},
"disponibilidade": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"18634972"
],
"description": "O id da disponibilidade sendo usada"
},
"faixas_etarias": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"27579"
],
"description": "O id da faixa etária"
},
"quantidade": {
"type": "number",
"enum": [
1
],
"description": "O número de pessoas nessa faixa etária"
}
},
"required": [
"id",
"quantidade"
],
"additionalProperties": false
},
"description": "A lista de faixas etárias dos utilizadores deste passeio"
}
},
"required": [
"id",
"faixas_etarias"
],
"additionalProperties": false,
"description": "A disponibilidade que este item usa"
}
},
"required": [
"id",
"disponibilidade"
],
"additionalProperties": false
},
"description": "A lista de itens deste carrinho"
}
},
"required": [
"itens"
]
}
Apagar CarrinhoDELETE/carrinhos/{id}
Example URI
DELETE https://api.paytour.com.br/v2/carrinhos/42
URI ParametersHide
id
int (required) Example: 42
O id do carrinho

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"sucesso": true
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"sucesso": {
"type": "boolean",
"description": "Se a operação foi bem sucedida"
}
}
}
Registrando Carrinhos ¶
Para registrar um carrinho no Paytour serão necessárias as informações dos passeios a serem realizados, além de informações a respeito da faixa etária e disponibilidade.
Note que o corpo da requisição deve estar em form-data e não em json

Data de validade ¶
O parâmetro valito_ate determina a data quando o carinho não poderá mais ser acessado e estará marcado para ser automaticamente apagado.
Por causa da natureza dos itens do carrinho terem data de realização, todo carrinho deve ter uma data de validade que, quando atingida, marca o carrinho para ser apagado durante as tarefas de manutenção automaticas do Paytour, normalmente realizadas de madrugada.
O parâmetro deve estar no formato YYYY-MM-DD HH:mm:SS, por exemplo: 2022-02-22 16:53:00.

Registrar CarrinhoPOST/carrinhos
Example URI
POST https://api.paytour.com.br/v2/carrinhos
RequestHide
Headers
Authorization: Bearer <authorization-token>
Content-Type: multipart/form-data
Body
{
"valido_ate": "2022-02-22 14:00:00",
"itens": [
{
"id": "692",
"disponibilidade": {
"id": "18634972",
"faixas_etarias": [
{
"id": "27579",
"quantidade": 1
}
]
}
}
]
}
Schema
{
"type": "object",
"properties": {
"valido_ate": {
"type": "string",
"description": "Data de validade desse carrinho"
},
"itens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "O id do produto que este item representa"
},
"disponibilidade": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "O id da disponibilidade sendo usada"
},
"faixas_etarias": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "O id da faixa etária"
},
"quantidade": {
"type": "number",
"description": "O número de pessoas nessa faixa etária"
}
}
},
"description": "A lista de faixas etárias dos utilizadores deste passeio"
}
},
"description": "A disponibilidade que este item usa"
}
}
},
"description": "A lista de itens deste carrinho"
}
},
"$schema": "http://json-schema.org/draft-04/schema#"
}
Response  401Hide
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  201Hide
Headers
Content-Type: application/json
Body
{
  "id": "03",
  "codigo": "c3c95f202db3d84ba81756c6ac13878b6ff2712432c8764fb890cfc9a666c547",
  "valido_ate": "2022-02-22 14:00:00",
  "_link": "https://example.com/carrinho-de-compras/snapshot/c3c95f202db3d84ba81756c6ac13878b6ff2712432c8764fb890cfc9a666c547",
  "itens": [
    {
      "id": "692",
      "disponibilidade": {
        "id": "18634972",
        "faixas_etarias": [
          {
            "id": "27579",
            "quantidade": 1
          }
        ]
      }
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identificador único do carrinho"
},
"codigo": {
"type": "string",
"description": "Código(SHA256) único e aleatório desse carrinho"
},
"valido_ate": {
"type": "string",
"description": "Data de validade desse carrinho"
},
"\_link": {
"type": "string",
"description": "O link para acessar este carrinho na loja"
},
"itens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"692"
],
"description": "O id do produto que este item representa"
},
"disponibilidade": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"18634972"
],
"description": "O id da disponibilidade sendo usada"
},
"faixas_etarias": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"27579"
],
"description": "O id da faixa etária"
},
"quantidade": {
"type": "number",
"enum": [
1
],
"description": "O número de pessoas nessa faixa etária"
}
},
"required": [
"id",
"quantidade"
],
"additionalProperties": false
},
"description": "A lista de faixas etárias dos utilizadores deste passeio"
}
},
"required": [
"id",
"faixas_etarias"
],
"additionalProperties": false,
"description": "A disponibilidade que este item usa"
}
},
"required": [
"id",
"disponibilidade"
],
"additionalProperties": false
},
"description": "A lista de itens deste carrinho"
}
},
"required": [
"itens"
]
}
Pedidos ¶
Listando Pedidos ¶
Para listar os pedidos da loja, realize uma requisição GET para este endpoint, entretanto o resultado estará paginado.

Listar PedidosGET/pedidos{?page,perPage,includeItems,includeLogsStatus,includeObs,createdAtMin,createdAtMax,updatedAtMin,updatedAtMax}
Example URI
GET https://api.paytour.com.br/v2/pedidos?page=1&perPage=30&includeItems=1&includeLogsStatus=1&includeObs=1&createdAtMin=2022-03-28 00:00:00&createdAtMax=2022-04-01 23:59:59&updatedAtMin=2022-03-28 00:00:00&updatedAtMax=2022-04-01 23:59:59
URI ParametersHide
page
int (required) Example: 1
A página que se deseja obter

perPage
int (required) Example: 30
Número de pedidos por página sendo no máximo 100

includeItems
int (required) Example: 1
Se 1 for passado nesse parâmetro, o resultado conterá também os itens do pedido

includeObs
int (required) Example: 1
Se 1 for passado nesse parâmetro, o resultado conterá também as observações do pedido

includeLogsStatus
int (required) Example: 1
Se 1 for passado nesse parâmetro, o resultado conterá também os logs de status do pedido

createdAtMin
string (required) Example: 2022-03-28 00:00:00
A data e hora mínima que o pedido deve ter sido criado

createdAtMax
string (required) Example: 2022-04-01 23:59:59
A data e hora máxima que o pedido deve ter sido criado

updatedAtMin
string (required) Example: 2022-03-28 00:00:00
A data e hora mínima que o pedido deve ter sido editado pela última vez

updatedAtMax
string (required) Example: 2022-04-01 23:59:59
A data e hora máxima que o pedido deve ter sido editado pela última vez

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 201Hide
Headers
Content-Type: application/json
Body
{
"info": {
"total": 350,
"pagina": 1,
"total_paginas": 35,
"por_pagina": 10
},
"itens": [
{
"id": "200",
"loja_id": "468",
"valor": "170.00",
"desconto": "0.00",
"cliente_nome": "João Carlos da Silva",
"cliente_email": "joao_carlos@gmail.com",
"cliente_cpf": "15658922243",
"cliente_celular": "(84) 999999999",
"cliente_telefone": "(84) 999999999",
"cliente_ddi": "+55",
"cliente_cep": "00000-000",
"cliente_endereco": "Rua São Carlos",
"cliente_complemento": "Próxima ao posto",
"cliente_numero": "19",
"cliente_bairro": "Ana Vieira",
"cliente_cidade": "Natal",
"cliente_uf": "RN",
"cliente_pais": "BRA",
"cliente_estrangeiro": 0,
"data_hora_pedido": "2020-08-01 09:47:39",
"data_hora_atualizacao": "2020-08-01 09:47:39",
"status": "aprovado",
"status_pagseguro": "aprovado",
"pagseguro_transacao_id": "as54s58",
"metodo_pagamento": "dinheiro",
"metodo_pagamento_externo": "dinheiro",
"transacao_id": "5484as-as4554-sas4d-54",
"status_pagamento": "pago",
"cupom_id": "415",
"afiliado_id": "454",
"afiliado_comissao": "45.00",
"afiliado_data_hora_clique": "2020-08-01 09:45:00",
"parceiro_id": "415",
"parceiro_comissao": "45.00",
"parcelas_pagamento": 1,
"bandeira_pagamento": "visa",
"final_cartao_pagamento": "9999",
"bin_cartao_pagamento": "999999",
"tipo_pagamento": "creditCard",
"transacao_erro_codigo": "1",
"transacao_erro_mensagem": "Cartão recusado",
"pagamento_extras": "null",
"hospedagem_tipo": "null",
"hospedagem_valor": "null",
"pagamento_pendente": "1",
"pagamento_pendente_valor": "40.00",
"pagamento_pendente_data_limite": "2020-08-01",
"pagamento_pendente_pago_em": "2020-08-01",
"deposito_codigo": "6595",
"deposito_data_pagamento": "2020-08-01",
"assinatura": "null",
"observacao": "null",
"operador_id": "48",
"loja_afiliado_id": 42,
"utm_source": "xxx",
"utm_medium": "xxx",
"utm_campaign": "xxx",
"utm_term": "xxx",
"utm_content": "xxx",
"_link_pagamento": "https//example.com.br/pagamento"
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"info": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Quantidade total de registros"
},
"pagina": {
"type": "number",
"description": "Página atual"
},
"total_paginas": {
"type": "number",
"description": "Quantidade de páginas"
},
"por_pagina": {
"type": "number",
"description": "Quantos itens estão sendo mostrados por página"
}
}
},
"itens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"200"
],
"description": "Identificação única desse pedido"
},
"loja_id": {
"type": "string",
"enum": [
"468"
],
"description": "Identificação única da loja"
},
"valor": {
"type": "string",
"enum": [
"170.00"
],
"description": "Valor total do pedido"
},
"desconto": {
"type": "string",
"enum": [
"0.00"
],
"description": "Valor do desconto aplicado no pedido"
},
"cliente_nome": {
"type": "string",
"enum": [
"João Carlos da Silva"
],
"description": "Nome do Cliente"
},
"cliente_email": {
"type": "string",
"enum": [
"joao_carlos@gmail.com"
],
"description": "Email do Cliente"
},
"cliente_cpf": {
"type": "string",
"enum": [
"15658922243"
],
"description": "Documento do Cliente"
},
"cliente_celular": {
"type": "string",
"enum": [
"(84) 999999999"
],
"description": "Celular do Cliente"
},
"cliente_telefone": {
"type": "string",
"enum": [
"(84) 999999999"
],
"description": "Telefone do Cliente"
},
"cliente_ddi": {
"type": "string",
"enum": [
"+55"
],
"description": "DDI do Cliente"
},
"cliente_cep": {
"type": "string",
"enum": [
"00000-000"
],
"description": "Cep do Endereço"
},
"cliente_endereco": {
"type": "string",
"enum": [
"Rua São Carlos"
],
"description": "Rua do Endereço"
},
"cliente_complemento": {
"type": "string",
"enum": [
"Próxima ao posto"
],
"description": "Complemento do Endereço"
},
"cliente_numero": {
"type": "string",
"enum": [
"19"
],
"description": "Número do Endereço"
},
"cliente_bairro": {
"type": "string",
"enum": [
"Ana Vieira"
],
"description": "Bairro do Endereço"
},
"cliente_cidade": {
"type": "string",
"enum": [
"Natal"
],
"description": "Cidade do Endereço"
},
"cliente_uf": {
"type": "string",
"enum": [
"RN"
],
"description": "Estado do Endereço"
},
"cliente_pais": {
"type": "string",
"enum": [
"BRA"
],
"description": "O código do país no padrão ISO 3166-1-alpha-3"
},
"cliente_estrangeiro": {
"type": "number",
"enum": [
0
],
"description": "1 se é estrangeiro"
},
"data_hora_pedido": {
"type": "string",
"enum": [
"2020-08-01 09:47:39"
],
"description": "A data e hora do pedido no formato YYYY-MM-DD HH:mm:ss"
},
"data_hora_atualizacao": {
"type": "string",
"enum": [
"2020-08-01 09:47:39"
],
"description": "A data e hora que o pedido foi editado pela última vez, no formato YYYY-MM-DD HH:mm:ss"
},
"status": {
"type": "string",
"enum": [
"aprovado"
],
"description": "O status do pedido"
},
"status_pagseguro": {
"type": "string",
"enum": [
"aprovado"
],
"description": "O status informado, quando pagamento feito pelo Pagseguro"
},
"pagseguro_transacao_id": {
"type": "string",
"enum": [
"as54s58"
],
"description": "Id da transação feita no pagseguro"
},
"metodo_pagamento": {
"type": "string",
"enum": [
"dinheiro"
],
"description": "O método de pagamento"
},
"metodo_pagamento_externo": {
"type": "string",
"enum": [
"dinheiro"
],
"description": "O método de pagamento, quando feito por fora do sistema"
},
"transacao_id": {
"type": "string",
"enum": [
"5484as-as4554-sas4d-54"
],
"description": "O id da transação de cartão de crédito"
},
"status_pagamento": {
"type": "string",
"enum": [
"pago"
],
"description": "O status do pagamento desse pedido"
},
"cupom_id": {
"type": "string",
"enum": [
"415"
],
"description": "O id do cupom, quando aplicado"
},
"afiliado_id": {
"type": "string",
"enum": [
"454"
],
"description": "Id do afiliado da loja associado a venda"
},
"afiliado_comissao": {
"type": "string",
"enum": [
"45.00"
],
"description": "Valor a ser repassado ao afiliado"
},
"afiliado_data_hora_clique": {
"type": "string",
"enum": [
"2020-08-01 09:45:00"
],
"description": "A data e hora do clique no link"
},
"parceiro_id": {
"type": "string",
"enum": [
"415"
],
"description": "O id do parceiro responsável pela venda"
},
"parceiro_comissao": {
"type": "string",
"enum": [
"45.00"
],
"description": "Valor a ser repassado ao parceiro"
},
"parcelas_pagamento": {
"type": "number",
"enum": [
1
],
"description": "O número de parcelas"
},
"bandeira_pagamento": {
"type": "string",
"enum": [
"visa"
],
"description": "Bandeira do cartão usado"
},
"final_cartao_pagamento": {
"type": "string",
"enum": [
"9999"
],
"description": "Final do cartão usado"
},
"bin_cartao_pagamento": {
"type": "string",
"enum": [
"999999"
],
"description": "BIN do cartão usado"
},
"tipo_pagamento": {
"type": "string",
"enum": [
"creditCard"
],
"description": "Método de pagamento"
},
"transacao_erro_codigo": {
"type": "string",
"enum": [
"1"
],
"description": "O código do erro na transação"
},
"transacao_erro_mensagem": {
"type": "string",
"enum": [
"Cartão recusado"
],
"description": "A mensagem de erro na transação"
},
"pagamento_extras": {
"type": "string",
"enum": [
"null"
],
"description": "Informações adicionais do pagamento"
},
"hospedagem_tipo": {
"type": "string",
"enum": [
"null"
],
"description": "Tipo de hospedagem do cliente"
},
"hospedagem_valor": {
"type": "string",
"enum": [
"null"
],
"description": "Valor pago pela hospedagem"
},
"pagamento_pendente": {
"type": "string",
"enum": [
"1"
],
"description": "1 se ainda tem pagamento pendente"
},
"pagamento_pendente_valor": {
"type": "string",
"enum": [
"40.00"
],
"description": "Valor ainda pendente a ser pago"
},
"pagamento_pendente_data_limite": {
"type": "string",
"enum": [
"2020-08-01"
],
"description": "Data máxima para que o valor pendente seja pago"
},
"pagamento_pendente_pago_em": {
"type": "string",
"enum": [
"2020-08-01"
],
"description": "Data do pagamento do valor pendente"
},
"deposito_codigo": {
"type": "string",
"enum": [
"6595"
],
"description": "Número da transação do depósito do valor pendente"
},
"deposito_data_pagamento": {
"type": "string",
"enum": [
"2020-08-01"
],
"description": "Data do pagamento do valor pendente por depósito"
},
"assinatura": {
"type": "string",
"enum": [
"null"
],
"description": "Assinatura do pedido"
},
"observacao": {
"type": "string",
"enum": [
"null"
],
"description": "Observação cadastrada no momento da venda"
},
"operador_id": {
"type": "string",
"enum": [
"48"
],
"description": "Id do usuário que realizou o pedido"
},
"loja_afiliado_id": {
"type": "number",
"enum": [
42
],
"description": "O id do afiliado na loja, ou null caso o pedido não tenha afiliado associado"
},
"utm_source": {
"type": "string",
"enum": [
"xxx"
],
"description": "O campo de UTM source"
},
"utm_medium": {
"type": "string",
"enum": [
"xxx"
],
"description": "O campo de UTM medium"
},
"utm_campaign": {
"type": "string",
"enum": [
"xxx"
],
"description": "O campo de UTM campaign"
},
"utm_term": {
"type": "string",
"enum": [
"xxx"
],
"description": "O campo de UTM term"
},
"utm_content": {
"type": "string",
"enum": [
"xxx"
],
"description": "O campo de UTM content"
},
"\_link_pagamento": {
"type": "string",
"enum": [
"https//example.com.br/pagamento"
],
"description": "O link que o cliente deve acessar para realizar o pagamento"
}
},
"required": [
"id",
"loja_id",
"valor",
"desconto",
"cliente_nome",
"cliente_email",
"cliente_cpf",
"cliente_celular",
"cliente_telefone",
"cliente_ddi",
"cliente_cep",
"cliente_endereco",
"cliente_complemento",
"cliente_numero",
"cliente_bairro",
"cliente_cidade",
"cliente_uf",
"cliente_pais",
"cliente_estrangeiro",
"data_hora_pedido",
"data_hora_atualizacao",
"status",
"status_pagseguro",
"pagseguro_transacao_id",
"metodo_pagamento",
"metodo_pagamento_externo",
"transacao_id",
"status_pagamento",
"cupom_id",
"afiliado_id",
"afiliado_comissao",
"afiliado_data_hora_clique",
"parceiro_id",
"parceiro_comissao",
"parcelas_pagamento",
"bandeira_pagamento",
"final_cartao_pagamento",
"bin_cartao_pagamento",
"tipo_pagamento",
"transacao_erro_codigo",
"transacao_erro_mensagem",
"pagamento_extras",
"hospedagem_tipo",
"hospedagem_valor",
"pagamento_pendente",
"pagamento_pendente_valor",
"pagamento_pendente_data_limite",
"pagamento_pendente_pago_em",
"deposito_codigo",
"deposito_data_pagamento",
"assinatura",
"observacao",
"operador_id",
"loja_afiliado_id",
"utm_source",
"utm_medium",
"utm_campaign",
"utm_term",
"utm_content",
"_link_pagamento"
],
"additionalProperties": false
},
"description": "A lista de pedidos"
}
},
"required": [
"itens"
]
}
Detalhando Pedido ¶
O endpoint anterior retorna apenas as informações do pedido sem seus itens(passeios e produtos adicionados).
Para obter os itens adicionados a um pedido realize a requisição abaixo.

Detalhar PedidosGET/pedidos/{id}
Example URI
GET https://api.paytour.com.br/v2/pedidos/42
URI ParametersHide
id
int (required) Example: 42
O id do pedido a ser detalhado

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"id": "200",
"loja_id": "468",
"valor": "170.00",
"desconto": "0.00",
"cliente_nome": "João Carlos da Silva",
"cliente_email": "joao_carlos@gmail.com",
"cliente_cpf": "15658922243",
"cliente_celular": "(84) 999999999",
"cliente_telefone": "(84) 999999999",
"cliente_ddi": "+55",
"cliente_cep": "00000-000",
"cliente_endereco": "Rua São Carlos",
"cliente_complemento": "Próxima ao posto",
"cliente_numero": "19",
"cliente_bairro": "Ana Vieira",
"cliente_cidade": "Natal",
"cliente_uf": "RN",
"cliente_pais": "BRA",
"cliente_estrangeiro": 0,
"data_hora_pedido": "2020-08-01 09:47:39",
"data_hora_atualizacao": "2020-08-01 09:47:39",
"status": "aprovado",
"status_pagseguro": "aprovado",
"pagseguro_transacao_id": "as54s58",
"metodo_pagamento": "dinheiro",
"metodo_pagamento_externo": "dinheiro",
"transacao_id": "5484as-as4554-sas4d-54",
"status_pagamento": "pago",
"cupom_id": "415",
"afiliado_id": "454",
"afiliado_comissao": "45.00",
"afiliado_data_hora_clique": "2020-08-01 09:45:00",
"parceiro_id": "415",
"parceiro_comissao": "45.00",
"parcelas_pagamento": 1,
"bandeira_pagamento": "visa",
"final_cartao_pagamento": "9999",
"bin_cartao_pagamento": "999999",
"tipo_pagamento": "creditCard",
"transacao_erro_codigo": "1",
"transacao_erro_mensagem": "Cartão recusado",
"pagamento_extras": "null",
"hospedagem_tipo": "null",
"hospedagem_valor": "null",
"pagamento_pendente": "1",
"pagamento_pendente_valor": "40.00",
"pagamento_pendente_data_limite": "2020-08-01",
"pagamento_pendente_pago_em": "2020-08-01",
"deposito_codigo": "6595",
"deposito_data_pagamento": "2020-08-01",
"assinatura": "null",
"observacao": "null",
"operador_id": "48",
"loja_afiliado_id": 42,
"utm_source": "xxx",
"utm_medium": "xxx",
"utm_campaign": "xxx",
"utm_term": "xxx",
"utm_content": "xxx",
"\_link_pagamento": "https//example.com.br/pagamento",
"itens": [
{
"id": "526",
"pedido_id": "200",
"valor": "60.00",
"produto_id": "null",
"utilizado": "0",
"data_utilizacao": "2020-08-05",
"produto_disponibilidade_id": "22642",
"produto_preco_id": "110",
"quantidade": "1",
"dados": "...",
"produto_preco_sazonal_id": "null",
"btms_num_reserva": "null",
"nome_produto": "Passeio de Trem",
"formulario": [
{
"chave": "nome",
"valor": "Alan Ferreira Pereira",
"label": "Nome"
}
],
"nome_utilizador": "Nome do útilizador",
"produto_disponibilidade_data": "2022-03-31",
"produto_disponibilidade_hora": "17:00 até 19:00",
"voucher_code": "59525165252",
"produto_faixa_etaria_nome": "Adulto",
"produto_faixa_etaria_descricao": "Acima de 18 anos",
"opcionais": [
{
"nome": "Almoço",
"valor": "20.00",
"desconto_cupom": "5.00"
}
]
}
],
"observacoes": [
{
"id": "526",
"observacao": "Reserva feita com antecedência",
"data_hora": "2023-12-25 09:00:00",
"operador_nome": "Carlos Augusto",
"operador_label": "Administrador",
"operador_id": 1,
"parceiro_id": 1
}
],
"logsStatus": [
{
"id": "526",
"status": "aprovado",
"data_hora": "2023-12-25 09:00:00",
"agente": "Carlos Augusto",
"agente_tipo": "Administrador"
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identificação única desse pedido"
},
"loja_id": {
"type": "string",
"description": "Identificação única da loja"
},
"valor": {
"type": "string",
"description": "Valor total do pedido"
},
"desconto": {
"type": "string",
"description": "Valor do desconto aplicado no pedido"
},
"cliente_nome": {
"type": "string",
"description": "Nome do Cliente"
},
"cliente_email": {
"type": "string",
"description": "Email do Cliente"
},
"cliente_cpf": {
"type": "string",
"description": "Documento do Cliente"
},
"cliente_celular": {
"type": "string",
"description": "Celular do Cliente"
},
"cliente_telefone": {
"type": "string",
"description": "Telefone do Cliente"
},
"cliente_ddi": {
"type": "string",
"description": "DDI do Cliente"
},
"cliente_cep": {
"type": "string",
"description": "Cep do Endereço"
},
"cliente_endereco": {
"type": "string",
"description": "Rua do Endereço"
},
"cliente_complemento": {
"type": "string",
"description": "Complemento do Endereço"
},
"cliente_numero": {
"type": "string",
"description": "Número do Endereço"
},
"cliente_bairro": {
"type": "string",
"description": "Bairro do Endereço"
},
"cliente_cidade": {
"type": "string",
"description": "Cidade do Endereço"
},
"cliente_uf": {
"type": "string",
"description": "Estado do Endereço"
},
"cliente_pais": {
"type": "string",
"description": "O código do país no padrão ISO 3166-1-alpha-3"
},
"cliente_estrangeiro": {
"type": "number",
"description": "1 se é estrangeiro"
},
"data_hora_pedido": {
"type": "string",
"description": "A data e hora do pedido no formato YYYY-MM-DD HH:mm:ss"
},
"data_hora_atualizacao": {
"type": "string",
"description": "A data e hora que o pedido foi editado pela última vez, no formato YYYY-MM-DD HH:mm:ss"
},
"status": {
"type": "string",
"description": "O status do pedido"
},
"status_pagseguro": {
"type": "string",
"description": "O status informado, quando pagamento feito pelo Pagseguro"
},
"pagseguro_transacao_id": {
"type": "string",
"description": "Id da transação feita no pagseguro"
},
"metodo_pagamento": {
"type": "string",
"description": "O método de pagamento"
},
"metodo_pagamento_externo": {
"type": "string",
"description": "O método de pagamento, quando feito por fora do sistema"
},
"transacao_id": {
"type": "string",
"description": "O id da transação de cartão de crédito"
},
"status_pagamento": {
"type": "string",
"description": "O status do pagamento desse pedido"
},
"cupom_id": {
"type": "string",
"description": "O id do cupom, quando aplicado"
},
"afiliado_id": {
"type": "string",
"description": "Id do afiliado da loja associado a venda"
},
"afiliado_comissao": {
"type": "string",
"description": "Valor a ser repassado ao afiliado"
},
"afiliado_data_hora_clique": {
"type": "string",
"description": "A data e hora do clique no link"
},
"parceiro_id": {
"type": "string",
"description": "O id do parceiro responsável pela venda"
},
"parceiro_comissao": {
"type": "string",
"description": "Valor a ser repassado ao parceiro"
},
"parcelas_pagamento": {
"type": "number",
"description": "O número de parcelas"
},
"bandeira_pagamento": {
"type": "string",
"description": "Bandeira do cartão usado"
},
"final_cartao_pagamento": {
"type": "string",
"description": "Final do cartão usado"
},
"bin_cartao_pagamento": {
"type": "string",
"description": "BIN do cartão usado"
},
"tipo_pagamento": {
"type": "string",
"description": "Método de pagamento"
},
"transacao_erro_codigo": {
"type": "string",
"description": "O código do erro na transação"
},
"transacao_erro_mensagem": {
"type": "string",
"description": "A mensagem de erro na transação"
},
"pagamento_extras": {
"type": "string",
"description": "Informações adicionais do pagamento"
},
"hospedagem_tipo": {
"type": "string",
"description": "Tipo de hospedagem do cliente"
},
"hospedagem_valor": {
"type": "string",
"description": "Valor pago pela hospedagem"
},
"pagamento_pendente": {
"type": "string",
"description": "1 se ainda tem pagamento pendente"
},
"pagamento_pendente_valor": {
"type": "string",
"description": "Valor ainda pendente a ser pago"
},
"pagamento_pendente_data_limite": {
"type": "string",
"description": "Data máxima para que o valor pendente seja pago"
},
"pagamento_pendente_pago_em": {
"type": "string",
"description": "Data do pagamento do valor pendente"
},
"deposito_codigo": {
"type": "string",
"description": "Número da transação do depósito do valor pendente"
},
"deposito_data_pagamento": {
"type": "string",
"description": "Data do pagamento do valor pendente por depósito"
},
"assinatura": {
"type": "string",
"description": "Assinatura do pedido"
},
"observacao": {
"type": "string",
"description": "Observação cadastrada no momento da venda"
},
"operador_id": {
"type": "string",
"description": "Id do usuário que realizou o pedido"
},
"loja_afiliado_id": {
"type": "number",
"description": "O id do afiliado na loja, ou null caso o pedido não tenha afiliado associado"
},
"utm_source": {
"type": "string",
"description": "O campo de UTM source"
},
"utm_medium": {
"type": "string",
"description": "O campo de UTM medium"
},
"utm_campaign": {
"type": "string",
"description": "O campo de UTM campaign"
},
"utm_term": {
"type": "string",
"description": "O campo de UTM term"
},
"utm_content": {
"type": "string",
"description": "O campo de UTM content"
},
"\_link_pagamento": {
"type": "string",
"description": "O link que o cliente deve acessar para realizar o pagamento"
},
"itens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"526"
],
"description": "Id do item"
},
"pedido_id": {
"type": "string",
"enum": [
"200"
],
"description": "Ido do pedido"
},
"valor": {
"type": "string",
"enum": [
"60.00"
],
"description": "Valor desse item individualmente"
},
"produto_id": {
"type": "string",
"enum": [
"null"
],
"description": "Ido do produto"
},
"utilizado": {
"type": "string",
"enum": [
"0"
],
"description": "1 se já foi realizado o passeio"
},
"data_utilizacao": {
"type": "string",
"enum": [
"2020-08-05"
],
"description": "Data da realização do passeio"
},
"produto_disponibilidade_id": {
"type": "string",
"enum": [
"22642"
],
"description": "Id da disponibilidade"
},
"produto_preco_id": {
"type": "string",
"enum": [
"110"
],
"description": "Id do preço cobrado"
},
"quantidade": {
"type": "string",
"enum": [
"1"
],
"description": "Quantidade de pessoas nesse passeio"
},
"dados": {
"type": "string",
"enum": [
"..."
],
"description": "Dados extras a reséito do cliente"
},
"produto_preco_sazonal_id": {
"type": "string",
"enum": [
"null"
],
"description": "Id do preço sazonal"
},
"btms_num_reserva": {
"type": "string",
"enum": [
"null"
],
"description": "Id da reserva BTMS"
},
"nome_produto": {
"type": "string",
"enum": [
"Passeio de Trem"
],
"description": "O nome do produto ou passeio"
},
"formulario": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chave": {
"type": "string",
"enum": [
"nome"
],
"description": "A chave que identifica o campo do formulário"
},
"valor": {
"type": "string",
"enum": [
"Alan Ferreira Pereira"
],
"description": "O valor preenchido no campo"
},
"label": {
"type": "string",
"enum": [
"Nome"
],
"description": "Uma label que identifica o campo"
}
},
"required": [
"chave",
"valor",
"label"
],
"additionalProperties": false
},
"description": "A lista de campos do formulário preenchido pelo cliente ou null em caso de não haver formulário"
},
"nome_utilizador": {
"type": "string",
"enum": [
"Nome do útilizador"
],
"description": "O nome do utilizador desse passeio ou produto"
},
"produto_disponibilidade_data": {
"type": "string",
"enum": [
"2022-03-31"
],
"description": "Data marcada para realização da atividade"
},
"produto_disponibilidade_hora": {
"type": "string",
"enum": [
"17:00 até 19:00"
],
"description": "Hora marcada para realização da atividade"
},
"voucher_code": {
"type": "string",
"enum": [
"59525165252"
],
"description": "Código único que identifica o voucher/ticket"
},
"produto_faixa_etaria_nome": {
"type": "string",
"enum": [
"Adulto"
],
"description": "Nome da faixa etária para esse voucher"
},
"produto_faixa_etaria_descricao": {
"type": "string",
"enum": [
"Acima de 18 anos"
],
"description": "Descrição da faixa etária para esse voucher"
},
"opcionais": {
"type": "array",
"items": {
"type": "object",
"properties": {
"nome": {
"type": "string",
"enum": [
"Almoço"
],
"description": "O título do opcional incluso no voucher"
},
"valor": {
"type": "string",
"enum": [
"20.00"
],
"description": "O preço original do opcional incluso no voucher"
},
"desconto_cupom": {
"type": "string",
"enum": [
"5.00"
],
"description": "O desconto aplicado no opcional via cupom de desconto"
}
},
"required": [
"nome",
"valor",
"desconto_cupom"
],
"additionalProperties": false
},
"description": "A lista de opcionais inclusos no voucher"
}
},
"required": [
"id",
"pedido_id",
"valor",
"produto_id",
"utilizado",
"data_utilizacao",
"produto_disponibilidade_id",
"produto_preco_id",
"quantidade",
"dados",
"produto_preco_sazonal_id",
"btms_num_reserva",
"nome_produto",
"formulario",
"nome_utilizador",
"produto_disponibilidade_data",
"produto_disponibilidade_hora",
"voucher_code",
"produto_faixa_etaria_nome",
"produto_faixa_etaria_descricao",
"opcionais"
],
"additionalProperties": false
},
"description": "A lista de itens do pedido"
},
"observacoes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"526"
],
"description": "Id da observação"
},
"observacao": {
"type": "string",
"enum": [
"Reserva feita com antecedência"
],
"description": "O texto da observação"
},
"data_hora": {
"type": "string",
"enum": [
"2023-12-25 09:00:00"
],
"description": "Data e hora em que a observação foi criada"
},
"operador_nome": {
"type": "string",
"enum": [
"Carlos Augusto"
],
"description": "O nome do operador que cadastrou a observação"
},
"operador_label": {
"type": "string",
"enum": [
"Administrador"
],
"description": "O nível de acesso do operador que cadastrou a observação (Administrador, Financeiro, Reservas, Atendimento, Afiliado)"
},
"operador_id": {
"type": "number",
"enum": [
1
],
"description": "O id que identifica o operador"
},
"parceiro_id": {
"type": "number",
"enum": [
1
],
"description": "O id que identifica o afiliado que cadastrou a observação caso tenha sido feito por um"
}
},
"required": [
"id",
"observacao",
"data_hora",
"operador_nome",
"operador_label",
"operador_id",
"parceiro_id"
],
"additionalProperties": false
},
"description": "A lista de observações do pedido"
},
"logsStatus": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"526"
],
"description": "Id do log"
},
"status": {
"type": "string",
"enum": [
"aprovado"
],
"description": "O status do pedido"
},
"data_hora": {
"type": "string",
"enum": [
"2023-12-25 09:00:00"
],
"description": "A data e hora em que o pedido teve seus status alterado"
},
"agente": {
"type": "string",
"enum": [
"Carlos Augusto"
],
"description": "O nome do operador realizou a atualização do status, podendo ser um sistema ou usuário"
},
"agente_tipo": {
"type": "string",
"enum": [
"Administrador"
],
"description": "Identificação do tipo de operador podendo ser Retorno Automático, Cliente ou Administrador"
}
},
"required": [
"id",
"status",
"data_hora",
"agente",
"agente_tipo"
],
"additionalProperties": false
},
"description": "A lista de status pelos quais o pedido passou"
}
},
"required": [
"itens",
"observacoes",
"logsStatus"
]
}
Registrando Pedidos ¶
Para registrar um pedido no Paytour serão necessárias as informações dos passeios a serem realizados, além de informações a respeito do cupom de desconto (se aplicado), sobre a forma de pagamento e sobre o cliente realizando o pedido.
Do cliente serão necessárias as seguintes informações: Nome completo, se é estrangeiro, número de telefone, E-mail, CPF (não estrangeiro) ou passaporte (estrangeiro).
Note que o corpo da requisição deve estar em form-data e não em json

Link para pagamento ¶
O campo metodo_pagamento deve ser passado como PAYMENT_LINK para que no retorno da API o campo \_link_pagamento esteja presente.
Ao acessar o link contido no campo \_link_pagamento o cliente poderá realizar o pagamento do pedido criado. Os formulários devem ser configurados combo posterior_todos.

Processar via API ¶
O campo metodo_pagamento deve ser passado como CHECKOUT_API para que o endpoint de processamento de pedidos possa ser usado.
Ao registrar o pedido com esse método, será possível processar o pagamento via API.

Diferença entre pedido de Passeio/Evento e Combo ¶
Existem diferenças importantes nos requests para realizar a compra de um passeio/evento e um combo. Passeios e Eventos seguem a mesma estrutura de request, enquanto a compra de um Combo possui uma estrutura diferente.

Registrar PedidoPOST/pedidos
Example URI
POST https://api.paytour.com.br/v2/pedidos
Request Passeios ou EventosHide
Headers
Authorization: Bearer <authorization-token>
Content-Type: multipart/form-data
Body
{
"metodo_pagamento": "PAYMENT_LINK",
"numero_parcelas": 12,
"valor_parcela": "42.50",
"afiliado_id": 123,
"parceiro_id": 123,
"itens": [
{
"id": "626",
"disponibilidade": {
"id": "807363",
"faixas_etarias": [
{
"id": "3466",
"preco": "150.0",
"quantidade": 1,
"opcionais": [
{
"id": "99",
"quantidade": 1
}
]
}
]
}
}
],
"cupom": {
"codigo_cupom": "CARNAVAL10"
},
"cliente": {
"nome": "João Carlos da Silva",
"email": "joao_carlos@gmail.com",
"documento": "15658922243",
"estrangeiro": false,
"telefone": "(84) 999999999",
"ddi": "55",
"cep": "00000-000",
"cidade": "Natal",
"pais": "BRA",
"uf": "RN"
}
}
Schema
{
"type": "object",
"properties": {
"metodo_pagamento": {
"type": "string",
"description": "Valores possíveis: PAYMENT_LINK, CREDIT_CARD, DEBIT_CARD, ON_DAY, MONEY, CHECKOUT_API"
},
"numero_parcelas": {
"type": "number",
"description": "até 12, mas só pode ser maior que 1 no caso de metodo_pagamento: CREDIT_CARD"
},
"valor_parcela": {
"type": "string",
"description": "O valor cobrado por cada percela quando parcelado"
},
"afiliado_id": {
"type": "number",
"description": "O id do afiliado que fez a indição da venda"
},
"parceiro_id": {
"type": "number",
"description": "O id do parceiro que fez a venda"
},
"itens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "O Id do passeio ou Evento"
},
"disponibilidade": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "O Id da disponibilidade a ser usada"
},
"faixas_etarias": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "O Id da faixa etária"
},
"preco": {
"type": "string",
"description": "O preço a ser cobrado"
},
"quantidade": {
"type": "number",
"description": "Quantas pessoas dessa faixa etária vão fazer esse passeio"
},
"opcionais": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "O ID do opcional"
},
"quantidade": {
"type": "number",
"description": "Quantas pessoas devem receber esse opcional"
}
}
},
"description": "Os opcionais selecionados"
}
}
},
"description": "As faixas etárias das pessoas que vão ao passeio"
}
},
"description": "A disponibilidade selecionada"
}
}
},
"description": "Os itens (passeios/Evento) desse pedido"
},
"cupom": {
"type": "object",
"properties": {
"codigo_cupom": {
"type": "string",
"description": "O Código do cupom de desconto"
}
},
"description": "O cupom aplicado ou null caso não tenha cupom"
},
"cliente": {
"type": "object",
"properties": {
"nome": {
"type": "string",
"description": "Nome Completo"
},
"email": {
"type": "string",
"description": "E-Mail do Cliente"
},
"documento": {
"type": "string",
"description": "CPF ou Passaporte"
},
"estrangeiro": {
"type": "boolean",
"description": "Se é ou não estrangeiro"
},
"telefone": {
"type": "string",
"description": "O Telefone para contato do Cliente"
},
"ddi": {
"type": "string",
"description": "O DDI do Cliente"
},
"cep": {
"type": "string",
"description": "O CEP do Cliente"
},
"cidade": {
"type": "string",
"description": "A Cidade do Cliente"
},
"pais": {
"type": "string",
"description": "O código do país no padrão ISO 3166-1-alpha-3"
},
"uf": {
"type": "string",
"description": "O Estado do Cliente"
}
},
"description": "Dados do cliente"
}
},
"$schema": "http://json-schema.org/draft-04/schema#"
}
Request  CombosHide
Headers
Authorization: Bearer <authorization-token>
Content-Type: multipart/form-data
Body
{
  "metodo_pagamento": "PAYMENT_LINK",
  "numero_parcelas": 12,
  "valor_parcela": "42.50",
  "afiliado_id": 123,
  "parceiro_id": 123,
  "itens": [
    {
      "id": "700",
      "atividades": [
        {
          "id": "782",
          "data": "2025-03-30",
          "disponibilidade": "807363",
          "opcionais": [
            {
              "id": "99",
              "quantidade": 1
            }
          ]
        }
      ],
      "faixas_etarias": [
        {
          "id": "3466",
          "quantidade": 1
        }
      ]
    }
  ],
  "cupom": {
    "codigo_cupom": "CARNAVAL10"
  },
  "cliente": {
    "nome": "João Carlos da Silva",
    "email": "joao_carlos@gmail.com",
    "documento": "15658922243",
    "estrangeiro": false,
    "telefone": "(84) 999999999",
    "ddi": "55",
    "cep": "00000-000",
    "cidade": "Natal",
    "pais": "BRA",
    "uf": "RN"
  }
}
Schema
{
  "type": "object",
  "properties": {
    "metodo_pagamento": {
      "type": "string",
      "description": "Valores possíveis: PAYMENT_LINK, CREDIT_CARD, DEBIT_CARD, ON_DAY, MONEY, CHECKOUT_API"
    },
    "numero_parcelas": {
      "type": "number",
      "description": "até 12, mas só pode ser maior que 1 no caso de metodo_pagamento: CREDIT_CARD"
    },
    "valor_parcela": {
      "type": "string",
      "description": "O valor cobrado por cada percela quando parcelado"
    },
    "afiliado_id": {
      "type": "number",
      "description": "O id do afiliado que fez a indição da venda"
    },
    "parceiro_id": {
      "type": "number",
      "description": "O id do parceiro que fez a venda"
    },
    "itens": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "O Id do Combo"
          },
          "atividades": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "O Id do passeio"
                },
                "data": {
                  "type": "string",
                  "description": "A data do passeio"
                },
                "disponibilidade": {
                  "type": "string",
                  "description": "O id da disponibilidade do passeio"
                },
                "opcionais": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "O ID do opcional"
                      },
                      "quantidade": {
                        "type": "number",
                        "description": "Quantas pessoas devem receber esse opcional"
                      }
                    }
                  },
                  "description": "Os opcionais selecionados"
                }
              }
            },
            "description": "A disponibilidade selecionada"
          },
          "faixas_etarias": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "O Id da faixa etária"
                },
                "quantidade": {
                  "type": "number",
                  "description": "Quantas pessoas dessa faixa etária vão fazer esse passeio"
                }
              }
            },
            "description": "As faixas etárias"
          }
        }
      },
      "description": "Os itens (Combos) desse pedido"
    },
    "cupom": {
      "type": "object",
      "properties": {
        "codigo_cupom": {
          "type": "string",
          "description": "O Código do cupom de desconto"
        }
      },
      "description": "O cupom aplicado ou null caso não tenha cupom"
    },
    "cliente": {
      "type": "object",
      "properties": {
        "nome": {
          "type": "string",
          "description": "Nome Completo"
        },
        "email": {
          "type": "string",
          "description": "E-Mail do Cliente"
        },
        "documento": {
          "type": "string",
          "description": "CPF ou Passaporte"
        },
        "estrangeiro": {
          "type": "boolean",
          "description": "Se é ou não estrangeiro"
        },
        "telefone": {
          "type": "string",
          "description": "O Telefone para contato do Cliente"
        },
        "ddi": {
          "type": "string",
          "description": "O DDI do Cliente"
        },
        "cep": {
          "type": "string",
          "description": "O CEP do Cliente"
        },
        "cidade": {
          "type": "string",
          "description": "A Cidade do Cliente"
        },
        "pais": {
          "type": "string",
          "description": "O código do país no padrão ISO 3166-1-alpha-3"
        },
        "uf": {
          "type": "string",
          "description": "O Estado do Cliente"
        }
      },
      "description": "Dados do cliente"
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 201Hide
Headers
Content-Type: application/json
Body
{
"id": "200",
"loja_id": "468",
"valor": "170.00",
"desconto": "0.00",
"cliente_nome": "João Carlos da Silva",
"cliente_email": "joao_carlos@gmail.com",
"cliente_cpf": "15658922243",
"cliente_celular": "(84) 999999999",
"cliente_telefone": "(84) 999999999",
"cliente_ddi": "+55",
"cliente_cep": "00000-000",
"cliente_endereco": "Rua São Carlos",
"cliente_complemento": "Próxima ao posto",
"cliente_numero": "19",
"cliente_bairro": "Ana Vieira",
"cliente_cidade": "Natal",
"cliente_uf": "RN",
"cliente_pais": "BRA",
"cliente_estrangeiro": 0,
"data_hora_pedido": "2020-08-01 09:47:39",
"data_hora_atualizacao": "2020-08-01 09:47:39",
"status": "aprovado",
"status_pagseguro": "aprovado",
"pagseguro_transacao_id": "as54s58",
"metodo_pagamento": "dinheiro",
"metodo_pagamento_externo": "dinheiro",
"transacao_id": "5484as-as4554-sas4d-54",
"status_pagamento": "pago",
"cupom_id": "415",
"afiliado_id": "454",
"afiliado_comissao": "45.00",
"afiliado_data_hora_clique": "2020-08-01 09:45:00",
"parceiro_id": "415",
"parceiro_comissao": "45.00",
"parcelas_pagamento": 1,
"bandeira_pagamento": "visa",
"final_cartao_pagamento": "9999",
"bin_cartao_pagamento": "999999",
"tipo_pagamento": "creditCard",
"transacao_erro_codigo": "1",
"transacao_erro_mensagem": "Cartão recusado",
"pagamento_extras": "null",
"hospedagem_tipo": "null",
"hospedagem_valor": "null",
"pagamento_pendente": "1",
"pagamento_pendente_valor": "40.00",
"pagamento_pendente_data_limite": "2020-08-01",
"pagamento_pendente_pago_em": "2020-08-01",
"selecionar_pagamento_ate": "2020-08-01 10:00:00",
"deposito_codigo": "6595",
"deposito_data_pagamento": "2020-08-01",
"assinatura": "null",
"observacao": "null",
"operador_id": "48",
"loja_afiliado_id": 42,
"utm_source": "xxx",
"utm_medium": "xxx",
"utm_campaign": "xxx",
"utm_term": "xxx",
"utm_content": "xxx",
"\_link_pagamento": "https//example.com.br/pagamento",
"items": [
{
"id": "526",
"pedido_id": "200",
"valor": "60.00",
"produto_id": "null",
"utilizado": "0",
"data_utilizacao": "2020-08-05",
"produto_disponibilidade_id": "22642",
"produto_preco_id": "110",
"quantidade": "1",
"dados": "...",
"produto_preco_sazonal_id": "null",
"btms_num_reserva": "null",
"produto_disponibilidade_data": "2022-03-31",
"produto_disponibilidade_hora": "17:00 até 19:00",
"voucher_code": "59525165252",
"produto_faixa_etaria_nome": "Adulto",
"produto_faixa_etaria_descricao": "Acima de 18 anos",
"opcionais": [
{
"nome": "Almoço",
"valor": "20.00",
"desconto_cupom": "5.00"
}
]
}
],
"observacoes": [
{
"id": "526",
"observacao": "Reserva feita com antecedência",
"data_hora": "2023-12-25 09:00:00",
"operador_nome": "Carlos Augusto",
"operador_label": "Administrador",
"operador_id": 1,
"parceiro_id": 1
}
],
"logsStatus": [
{
"id": "526",
"status": "aprovado",
"data_hora": "2023-12-25 09:00:00",
"agente": "Carlos Augusto",
"agente_tipo": "Administrador"
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identificação única desse pedido"
},
"loja_id": {
"type": "string",
"description": "Identificação única da loja"
},
"valor": {
"type": "string",
"description": "Valor total do pedido"
},
"desconto": {
"type": "string",
"description": "Valor do desconto aplicado no pedido"
},
"cliente_nome": {
"type": "string",
"description": "Nome do Cliente"
},
"cliente_email": {
"type": "string",
"description": "Email do Cliente"
},
"cliente_cpf": {
"type": "string",
"description": "Documento do Cliente"
},
"cliente_celular": {
"type": "string",
"description": "Celular do Cliente"
},
"cliente_telefone": {
"type": "string",
"description": "Telefone do Cliente"
},
"cliente_ddi": {
"type": "string",
"description": "DDI do Cliente"
},
"cliente_cep": {
"type": "string",
"description": "Cep do Endereço"
},
"cliente_endereco": {
"type": "string",
"description": "Rua do Endereço"
},
"cliente_complemento": {
"type": "string",
"description": "Complemento do Endereço"
},
"cliente_numero": {
"type": "string",
"description": "Número do Endereço"
},
"cliente_bairro": {
"type": "string",
"description": "Bairro do Endereço"
},
"cliente_cidade": {
"type": "string",
"description": "Cidade do Endereço"
},
"cliente_uf": {
"type": "string",
"description": "Estado do Endereço"
},
"cliente_pais": {
"type": "string",
"description": "O código do país no padrão ISO 3166-1-alpha-3"
},
"cliente_estrangeiro": {
"type": "number",
"description": "1 se é estrangeiro"
},
"data_hora_pedido": {
"type": "string",
"description": "A data e hora do pedido no formato YYYY-MM-DD HH:mm:ss"
},
"data_hora_atualizacao": {
"type": "string",
"description": "A data e hora que o pedido foi editado pela última vez, no formato YYYY-MM-DD HH:mm:ss"
},
"status": {
"type": "string",
"description": "O status do pedido"
},
"status_pagseguro": {
"type": "string",
"description": "O status informado, quando pagamento feito pelo Pagseguro"
},
"pagseguro_transacao_id": {
"type": "string",
"description": "Id da transação feita no pagseguro"
},
"metodo_pagamento": {
"type": "string",
"description": "O método de pagamento"
},
"metodo_pagamento_externo": {
"type": "string",
"description": "O método de pagamento, quando feito por fora do sistema"
},
"transacao_id": {
"type": "string",
"description": "O id da transação de cartão de crédito"
},
"status_pagamento": {
"type": "string",
"description": "O status do pagamento desse pedido"
},
"cupom_id": {
"type": "string",
"description": "O id do cupom, quando aplicado"
},
"afiliado_id": {
"type": "string",
"description": "Id do afiliado da loja associado a venda"
},
"afiliado_comissao": {
"type": "string",
"description": "Valor a ser repassado ao afiliado"
},
"afiliado_data_hora_clique": {
"type": "string",
"description": "A data e hora do clique no link"
},
"parceiro_id": {
"type": "string",
"description": "O id do parceiro responsável pela venda"
},
"parceiro_comissao": {
"type": "string",
"description": "Valor a ser repassado ao parceiro"
},
"parcelas_pagamento": {
"type": "number",
"description": "O número de parcelas"
},
"bandeira_pagamento": {
"type": "string",
"description": "Bandeira do cartão usado"
},
"final_cartao_pagamento": {
"type": "string",
"description": "Final do cartão usado"
},
"bin_cartao_pagamento": {
"type": "string",
"description": "BIN do cartão usado"
},
"tipo_pagamento": {
"type": "string",
"description": "Método de pagamento"
},
"transacao_erro_codigo": {
"type": "string",
"description": "O código do erro na transação"
},
"transacao_erro_mensagem": {
"type": "string",
"description": "A mensagem de erro na transação"
},
"pagamento_extras": {
"type": "string",
"description": "Informações adicionais do pagamento"
},
"hospedagem_tipo": {
"type": "string",
"description": "Tipo de hospedagem do cliente"
},
"hospedagem_valor": {
"type": "string",
"description": "Valor pago pela hospedagem"
},
"pagamento_pendente": {
"type": "string",
"description": "1 se ainda tem pagamento pendente"
},
"pagamento_pendente_valor": {
"type": "string",
"description": "Valor ainda pendente a ser pago"
},
"pagamento_pendente_data_limite": {
"type": "string",
"description": "Data máxima para que o valor pendente seja pago"
},
"pagamento_pendente_pago_em": {
"type": "string",
"description": "Data do pagamento do valor pendente"
},
"selecionar_pagamento_ate": {
"type": "string",
"description": "Data máxima para que o link seja acessado e pago"
},
"deposito_codigo": {
"type": "string",
"description": "Número da transação do depósito do valor pendente"
},
"deposito_data_pagamento": {
"type": "string",
"description": "Data do pagamento do valor pendente por depósito"
},
"assinatura": {
"type": "string",
"description": "Assinatura do pedido"
},
"observacao": {
"type": "string",
"description": "Observação cadastrada no momento da venda"
},
"operador_id": {
"type": "string",
"description": "Id do usuário que realizou o pedido"
},
"loja_afiliado_id": {
"type": "number",
"description": "O id do afiliado na loja, ou null caso o pedido não tenha afiliado associado"
},
"utm_source": {
"type": "string",
"description": "O campo de UTM source"
},
"utm_medium": {
"type": "string",
"description": "O campo de UTM medium"
},
"utm_campaign": {
"type": "string",
"description": "O campo de UTM campaign"
},
"utm_term": {
"type": "string",
"description": "O campo de UTM term"
},
"utm_content": {
"type": "string",
"description": "O campo de UTM content"
},
"\_link_pagamento": {
"type": "string",
"description": "O link que o cliente deve acessar para realizar o pagamento"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"526"
],
"description": "Id do item"
},
"pedido_id": {
"type": "string",
"enum": [
"200"
],
"description": "Ido do pedido"
},
"valor": {
"type": "string",
"enum": [
"60.00"
],
"description": "Valor desse item individualmente"
},
"produto_id": {
"type": "string",
"enum": [
"null"
],
"description": "Ido do produto"
},
"utilizado": {
"type": "string",
"enum": [
"0"
],
"description": "1 se já foi realizado o passeio"
},
"data_utilizacao": {
"type": "string",
"enum": [
"2020-08-05"
],
"description": "Data da realização do passeio"
},
"produto_disponibilidade_id": {
"type": "string",
"enum": [
"22642"
],
"description": "Id da disponibilidade"
},
"produto_preco_id": {
"type": "string",
"enum": [
"110"
],
"description": "Id do preço cobrado"
},
"quantidade": {
"type": "string",
"enum": [
"1"
],
"description": "Quantidade de pessoas nesse passeio"
},
"dados": {
"type": "string",
"enum": [
"..."
],
"description": "Dados extras a reséito do cliente"
},
"produto_preco_sazonal_id": {
"type": "string",
"enum": [
"null"
],
"description": "Id do preço sazonal"
},
"btms_num_reserva": {
"type": "string",
"enum": [
"null"
],
"description": "Id da reserva BTMS"
},
"produto_disponibilidade_data": {
"type": "string",
"enum": [
"2022-03-31"
],
"description": "Data marcada para realização da atividade"
},
"produto_disponibilidade_hora": {
"type": "string",
"enum": [
"17:00 até 19:00"
],
"description": "Hora marcada para realização da atividade"
},
"voucher_code": {
"type": "string",
"enum": [
"59525165252"
],
"description": "Código único que identifica o voucher/ticket"
},
"produto_faixa_etaria_nome": {
"type": "string",
"enum": [
"Adulto"
],
"description": "Nome da faixa etária para esse voucher"
},
"produto_faixa_etaria_descricao": {
"type": "string",
"enum": [
"Acima de 18 anos"
],
"description": "Descrição da faixa etária para esse voucher"
},
"opcionais": {
"type": "array",
"items": {
"type": "object",
"properties": {
"nome": {
"type": "string",
"enum": [
"Almoço"
],
"description": "O título do opcional incluso no voucher"
},
"valor": {
"type": "string",
"enum": [
"20.00"
],
"description": "O preço original do opcional incluso no voucher"
},
"desconto_cupom": {
"type": "string",
"enum": [
"5.00"
],
"description": "O desconto aplicado no opcional via cupom de desconto"
}
},
"required": [
"nome",
"valor",
"desconto_cupom"
],
"additionalProperties": false
},
"description": "A lista de opcionais inclusos no voucher"
}
},
"required": [
"id",
"pedido_id",
"valor",
"produto_id",
"utilizado",
"data_utilizacao",
"produto_disponibilidade_id",
"produto_preco_id",
"quantidade",
"dados",
"produto_preco_sazonal_id",
"btms_num_reserva",
"produto_disponibilidade_data",
"produto_disponibilidade_hora",
"voucher_code",
"produto_faixa_etaria_nome",
"produto_faixa_etaria_descricao",
"opcionais"
],
"additionalProperties": false
},
"description": "A lista de itens do pedido"
},
"observacoes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"526"
],
"description": "Id da observação"
},
"observacao": {
"type": "string",
"enum": [
"Reserva feita com antecedência"
],
"description": "O texto da observação"
},
"data_hora": {
"type": "string",
"enum": [
"2023-12-25 09:00:00"
],
"description": "Data e hora em que a observação foi criada"
},
"operador_nome": {
"type": "string",
"enum": [
"Carlos Augusto"
],
"description": "O nome do operador que cadastrou a observação"
},
"operador_label": {
"type": "string",
"enum": [
"Administrador"
],
"description": "O nível de acesso do operador que cadastrou a observação (Administrador, Financeiro, Reservas, Atendimento, Afiliado)"
},
"operador_id": {
"type": "number",
"enum": [
1
],
"description": "O id que identifica o operador"
},
"parceiro_id": {
"type": "number",
"enum": [
1
],
"description": "O id que identifica o afiliado que cadastrou a observação caso tenha sido feito por um"
}
},
"required": [
"id",
"observacao",
"data_hora",
"operador_nome",
"operador_label",
"operador_id",
"parceiro_id"
],
"additionalProperties": false
},
"description": "A lista de observações do pedido"
},
"logsStatus": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"526"
],
"description": "Id do log"
},
"status": {
"type": "string",
"enum": [
"aprovado"
],
"description": "O status do pedido"
},
"data_hora": {
"type": "string",
"enum": [
"2023-12-25 09:00:00"
],
"description": "A data e hora em que o pedido teve seus status alterado"
},
"agente": {
"type": "string",
"enum": [
"Carlos Augusto"
],
"description": "O nome do operador realizou a atualização do status, podendo ser um sistema ou usuário"
},
"agente_tipo": {
"type": "string",
"enum": [
"Administrador"
],
"description": "Identificação do tipo de operador podendo ser Retorno Automático, Cliente ou Administrador"
}
},
"required": [
"id",
"status",
"data_hora",
"agente",
"agente_tipo"
],
"additionalProperties": false
},
"description": "A lista de status pelos quais o pedido passou"
}
},
"required": [
"items",
"observacoes",
"logsStatus"
]
}
Aprovando Pedidos ¶
Uma vez registrado, um pedido pode ter seu status alterado.
A mudança de status mais comum a se realizar é a de aprovação do pedido. Uma vez registrado é possível aprovar (ou realizar outra mudança) o pedido conforme abaixo.

Aprovar PedidoPUT/pedidos/{id}/atualizar-status
Example URI
PUT https://api.paytour.com.br/v2/pedidos/5496/atualizar-status
URI ParametersHide
id
int (required) Example: 5496
O Id do pedido

RequestHide
Headers
Content-Type: multipart/form-data
Authorization: Bearer <authorization-token>
Body
{
"status": "aprovado"
}
Schema
{
"type": "object",
"properties": {
"status": {
"enum": [
"aprovado",
"pendente",
"aprovado_pagamento_pendente",
"reprovado",
"cancelado",
"aguardando_pagamento"
],
"description": "O Status Desejado"
}
},
"$schema": "http://json-schema.org/draft-04/schema#"
}
Response  401Hide
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200Hide
Headers
Content-Type: application/json
Body
{
  "id": "200",
  "loja_id": "468",
  "valor": "170.00",
  "desconto": "0.00",
  "cliente_nome": "João Carlos da Silva",
  "cliente_email": "joao_carlos@gmail.com",
  "cliente_cpf": "15658922243",
  "cliente_celular": "(84) 999999999",
  "cliente_telefone": "(84) 999999999",
  "cliente_ddi": "+55",
  "cliente_cep": "00000-000",
  "cliente_endereco": "Rua São Carlos",
  "cliente_complemento": "Próxima ao posto",
  "cliente_numero": "19",
  "cliente_bairro": "Ana Vieira",
  "cliente_cidade": "Natal",
  "cliente_uf": "RN",
  "cliente_pais": "BRA",
  "cliente_estrangeiro": 0,
  "data_hora_pedido": "2020-08-01 09:47:39",
  "data_hora_atualizacao": "2020-08-01 09:47:39",
  "status": "aprovado",
  "status_pagseguro": "aprovado",
  "pagseguro_transacao_id": "as54s58",
  "metodo_pagamento": "dinheiro",
  "metodo_pagamento_externo": "dinheiro",
  "transacao_id": "5484as-as4554-sas4d-54",
  "status_pagamento": "pago",
  "cupom_id": "415",
  "afiliado_id": "454",
  "afiliado_comissao": "45.00",
  "afiliado_data_hora_clique": "2020-08-01 09:45:00",
  "parceiro_id": "415",
  "parceiro_comissao": "45.00",
  "parcelas_pagamento": 1,
  "bandeira_pagamento": "visa",
  "final_cartao_pagamento": "9999",
  "bin_cartao_pagamento": "999999",
  "tipo_pagamento": "creditCard",
  "transacao_erro_codigo": "1",
  "transacao_erro_mensagem": "Cartão recusado",
  "pagamento_extras": "null",
  "hospedagem_tipo": "null",
  "hospedagem_valor": "null",
  "pagamento_pendente": "1",
  "pagamento_pendente_valor": "40.00",
  "pagamento_pendente_data_limite": "2020-08-01",
  "pagamento_pendente_pago_em": "2020-08-01",
  "deposito_codigo": "6595",
  "deposito_data_pagamento": "2020-08-01",
  "assinatura": "null",
  "observacao": "null",
  "operador_id": "48",
  "loja_afiliado_id": 42,
  "utm_source": "xxx",
  "utm_medium": "xxx",
  "utm_campaign": "xxx",
  "utm_term": "xxx",
  "utm_content": "xxx",
  "_link_pagamento": "https//example.com.br/pagamento",
  "itens": [
    {
      "id": "526",
      "pedido_id": "200",
      "valor": "60.00",
      "produto_id": "null",
      "utilizado": "0",
      "data_utilizacao": "2020-08-05",
      "produto_disponibilidade_id": "22642",
      "produto_preco_id": "110",
      "quantidade": "1",
      "dados": "...",
      "produto_preco_sazonal_id": "null",
      "btms_num_reserva": "null",
      "nome_produto": "Passeio de Trem",
      "formulario": [
        {
          "chave": "nome",
          "valor": "Alan Ferreira Pereira",
          "label": "Nome"
        }
      ],
      "nome_utilizador": "Nome do útilizador",
      "produto_disponibilidade_data": "2022-03-31",
      "produto_disponibilidade_hora": "17:00 até 19:00",
      "voucher_code": "59525165252",
      "produto_faixa_etaria_nome": "Adulto",
      "produto_faixa_etaria_descricao": "Acima de 18 anos",
      "opcionais": [
        {
          "nome": "Almoço",
          "valor": "20.00",
          "desconto_cupom": "5.00"
        }
      ]
    }
  ],
  "observacoes": [
    {
      "id": "526",
      "observacao": "Reserva feita com antecedência",
      "data_hora": "2023-12-25 09:00:00",
      "operador_nome": "Carlos Augusto",
      "operador_label": "Administrador",
      "operador_id": 1,
      "parceiro_id": 1
    }
  ],
  "logsStatus": [
    {
      "id": "526",
      "status": "aprovado",
      "data_hora": "2023-12-25 09:00:00",
      "agente": "Carlos Augusto",
      "agente_tipo": "Administrador"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identificação única desse pedido"
},
"loja_id": {
"type": "string",
"description": "Identificação única da loja"
},
"valor": {
"type": "string",
"description": "Valor total do pedido"
},
"desconto": {
"type": "string",
"description": "Valor do desconto aplicado no pedido"
},
"cliente_nome": {
"type": "string",
"description": "Nome do Cliente"
},
"cliente_email": {
"type": "string",
"description": "Email do Cliente"
},
"cliente_cpf": {
"type": "string",
"description": "Documento do Cliente"
},
"cliente_celular": {
"type": "string",
"description": "Celular do Cliente"
},
"cliente_telefone": {
"type": "string",
"description": "Telefone do Cliente"
},
"cliente_ddi": {
"type": "string",
"description": "DDI do Cliente"
},
"cliente_cep": {
"type": "string",
"description": "Cep do Endereço"
},
"cliente_endereco": {
"type": "string",
"description": "Rua do Endereço"
},
"cliente_complemento": {
"type": "string",
"description": "Complemento do Endereço"
},
"cliente_numero": {
"type": "string",
"description": "Número do Endereço"
},
"cliente_bairro": {
"type": "string",
"description": "Bairro do Endereço"
},
"cliente_cidade": {
"type": "string",
"description": "Cidade do Endereço"
},
"cliente_uf": {
"type": "string",
"description": "Estado do Endereço"
},
"cliente_pais": {
"type": "string",
"description": "O código do país no padrão ISO 3166-1-alpha-3"
},
"cliente_estrangeiro": {
"type": "number",
"description": "1 se é estrangeiro"
},
"data_hora_pedido": {
"type": "string",
"description": "A data e hora do pedido no formato YYYY-MM-DD HH:mm:ss"
},
"data_hora_atualizacao": {
"type": "string",
"description": "A data e hora que o pedido foi editado pela última vez, no formato YYYY-MM-DD HH:mm:ss"
},
"status": {
"type": "string",
"description": "O status do pedido"
},
"status_pagseguro": {
"type": "string",
"description": "O status informado, quando pagamento feito pelo Pagseguro"
},
"pagseguro_transacao_id": {
"type": "string",
"description": "Id da transação feita no pagseguro"
},
"metodo_pagamento": {
"type": "string",
"description": "O método de pagamento"
},
"metodo_pagamento_externo": {
"type": "string",
"description": "O método de pagamento, quando feito por fora do sistema"
},
"transacao_id": {
"type": "string",
"description": "O id da transação de cartão de crédito"
},
"status_pagamento": {
"type": "string",
"description": "O status do pagamento desse pedido"
},
"cupom_id": {
"type": "string",
"description": "O id do cupom, quando aplicado"
},
"afiliado_id": {
"type": "string",
"description": "Id do afiliado da loja associado a venda"
},
"afiliado_comissao": {
"type": "string",
"description": "Valor a ser repassado ao afiliado"
},
"afiliado_data_hora_clique": {
"type": "string",
"description": "A data e hora do clique no link"
},
"parceiro_id": {
"type": "string",
"description": "O id do parceiro responsável pela venda"
},
"parceiro_comissao": {
"type": "string",
"description": "Valor a ser repassado ao parceiro"
},
"parcelas_pagamento": {
"type": "number",
"description": "O número de parcelas"
},
"bandeira_pagamento": {
"type": "string",
"description": "Bandeira do cartão usado"
},
"final_cartao_pagamento": {
"type": "string",
"description": "Final do cartão usado"
},
"bin_cartao_pagamento": {
"type": "string",
"description": "BIN do cartão usado"
},
"tipo_pagamento": {
"type": "string",
"description": "Método de pagamento"
},
"transacao_erro_codigo": {
"type": "string",
"description": "O código do erro na transação"
},
"transacao_erro_mensagem": {
"type": "string",
"description": "A mensagem de erro na transação"
},
"pagamento_extras": {
"type": "string",
"description": "Informações adicionais do pagamento"
},
"hospedagem_tipo": {
"type": "string",
"description": "Tipo de hospedagem do cliente"
},
"hospedagem_valor": {
"type": "string",
"description": "Valor pago pela hospedagem"
},
"pagamento_pendente": {
"type": "string",
"description": "1 se ainda tem pagamento pendente"
},
"pagamento_pendente_valor": {
"type": "string",
"description": "Valor ainda pendente a ser pago"
},
"pagamento_pendente_data_limite": {
"type": "string",
"description": "Data máxima para que o valor pendente seja pago"
},
"pagamento_pendente_pago_em": {
"type": "string",
"description": "Data do pagamento do valor pendente"
},
"deposito_codigo": {
"type": "string",
"description": "Número da transação do depósito do valor pendente"
},
"deposito_data_pagamento": {
"type": "string",
"description": "Data do pagamento do valor pendente por depósito"
},
"assinatura": {
"type": "string",
"description": "Assinatura do pedido"
},
"observacao": {
"type": "string",
"description": "Observação cadastrada no momento da venda"
},
"operador_id": {
"type": "string",
"description": "Id do usuário que realizou o pedido"
},
"loja_afiliado_id": {
"type": "number",
"description": "O id do afiliado na loja, ou null caso o pedido não tenha afiliado associado"
},
"utm_source": {
"type": "string",
"description": "O campo de UTM source"
},
"utm_medium": {
"type": "string",
"description": "O campo de UTM medium"
},
"utm_campaign": {
"type": "string",
"description": "O campo de UTM campaign"
},
"utm_term": {
"type": "string",
"description": "O campo de UTM term"
},
"utm_content": {
"type": "string",
"description": "O campo de UTM content"
},
"\_link_pagamento": {
"type": "string",
"description": "O link que o cliente deve acessar para realizar o pagamento"
},
"itens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"526"
],
"description": "Id do item"
},
"pedido_id": {
"type": "string",
"enum": [
"200"
],
"description": "Ido do pedido"
},
"valor": {
"type": "string",
"enum": [
"60.00"
],
"description": "Valor desse item individualmente"
},
"produto_id": {
"type": "string",
"enum": [
"null"
],
"description": "Ido do produto"
},
"utilizado": {
"type": "string",
"enum": [
"0"
],
"description": "1 se já foi realizado o passeio"
},
"data_utilizacao": {
"type": "string",
"enum": [
"2020-08-05"
],
"description": "Data da realização do passeio"
},
"produto_disponibilidade_id": {
"type": "string",
"enum": [
"22642"
],
"description": "Id da disponibilidade"
},
"produto_preco_id": {
"type": "string",
"enum": [
"110"
],
"description": "Id do preço cobrado"
},
"quantidade": {
"type": "string",
"enum": [
"1"
],
"description": "Quantidade de pessoas nesse passeio"
},
"dados": {
"type": "string",
"enum": [
"..."
],
"description": "Dados extras a reséito do cliente"
},
"produto_preco_sazonal_id": {
"type": "string",
"enum": [
"null"
],
"description": "Id do preço sazonal"
},
"btms_num_reserva": {
"type": "string",
"enum": [
"null"
],
"description": "Id da reserva BTMS"
},
"nome_produto": {
"type": "string",
"enum": [
"Passeio de Trem"
],
"description": "O nome do produto ou passeio"
},
"formulario": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chave": {
"type": "string",
"enum": [
"nome"
],
"description": "A chave que identifica o campo do formulário"
},
"valor": {
"type": "string",
"enum": [
"Alan Ferreira Pereira"
],
"description": "O valor preenchido no campo"
},
"label": {
"type": "string",
"enum": [
"Nome"
],
"description": "Uma label que identifica o campo"
}
},
"required": [
"chave",
"valor",
"label"
],
"additionalProperties": false
},
"description": "A lista de campos do formulário preenchido pelo cliente ou null em caso de não haver formulário"
},
"nome_utilizador": {
"type": "string",
"enum": [
"Nome do útilizador"
],
"description": "O nome do utilizador desse passeio ou produto"
},
"produto_disponibilidade_data": {
"type": "string",
"enum": [
"2022-03-31"
],
"description": "Data marcada para realização da atividade"
},
"produto_disponibilidade_hora": {
"type": "string",
"enum": [
"17:00 até 19:00"
],
"description": "Hora marcada para realização da atividade"
},
"voucher_code": {
"type": "string",
"enum": [
"59525165252"
],
"description": "Código único que identifica o voucher/ticket"
},
"produto_faixa_etaria_nome": {
"type": "string",
"enum": [
"Adulto"
],
"description": "Nome da faixa etária para esse voucher"
},
"produto_faixa_etaria_descricao": {
"type": "string",
"enum": [
"Acima de 18 anos"
],
"description": "Descrição da faixa etária para esse voucher"
},
"opcionais": {
"type": "array",
"items": {
"type": "object",
"properties": {
"nome": {
"type": "string",
"enum": [
"Almoço"
],
"description": "O título do opcional incluso no voucher"
},
"valor": {
"type": "string",
"enum": [
"20.00"
],
"description": "O preço original do opcional incluso no voucher"
},
"desconto_cupom": {
"type": "string",
"enum": [
"5.00"
],
"description": "O desconto aplicado no opcional via cupom de desconto"
}
},
"required": [
"nome",
"valor",
"desconto_cupom"
],
"additionalProperties": false
},
"description": "A lista de opcionais inclusos no voucher"
}
},
"required": [
"id",
"pedido_id",
"valor",
"produto_id",
"utilizado",
"data_utilizacao",
"produto_disponibilidade_id",
"produto_preco_id",
"quantidade",
"dados",
"produto_preco_sazonal_id",
"btms_num_reserva",
"nome_produto",
"formulario",
"nome_utilizador",
"produto_disponibilidade_data",
"produto_disponibilidade_hora",
"voucher_code",
"produto_faixa_etaria_nome",
"produto_faixa_etaria_descricao",
"opcionais"
],
"additionalProperties": false
},
"description": "A lista de itens do pedido"
},
"observacoes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"526"
],
"description": "Id da observação"
},
"observacao": {
"type": "string",
"enum": [
"Reserva feita com antecedência"
],
"description": "O texto da observação"
},
"data_hora": {
"type": "string",
"enum": [
"2023-12-25 09:00:00"
],
"description": "Data e hora em que a observação foi criada"
},
"operador_nome": {
"type": "string",
"enum": [
"Carlos Augusto"
],
"description": "O nome do operador que cadastrou a observação"
},
"operador_label": {
"type": "string",
"enum": [
"Administrador"
],
"description": "O nível de acesso do operador que cadastrou a observação (Administrador, Financeiro, Reservas, Atendimento, Afiliado)"
},
"operador_id": {
"type": "number",
"enum": [
1
],
"description": "O id que identifica o operador"
},
"parceiro_id": {
"type": "number",
"enum": [
1
],
"description": "O id que identifica o afiliado que cadastrou a observação caso tenha sido feito por um"
}
},
"required": [
"id",
"observacao",
"data_hora",
"operador_nome",
"operador_label",
"operador_id",
"parceiro_id"
],
"additionalProperties": false
},
"description": "A lista de observações do pedido"
},
"logsStatus": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"526"
],
"description": "Id do log"
},
"status": {
"type": "string",
"enum": [
"aprovado"
],
"description": "O status do pedido"
},
"data_hora": {
"type": "string",
"enum": [
"2023-12-25 09:00:00"
],
"description": "A data e hora em que o pedido teve seus status alterado"
},
"agente": {
"type": "string",
"enum": [
"Carlos Augusto"
],
"description": "O nome do operador realizou a atualização do status, podendo ser um sistema ou usuário"
},
"agente_tipo": {
"type": "string",
"enum": [
"Administrador"
],
"description": "Identificação do tipo de operador podendo ser Retorno Automático, Cliente ou Administrador"
}
},
"required": [
"id",
"status",
"data_hora",
"agente",
"agente_tipo"
],
"additionalProperties": false
},
"description": "A lista de status pelos quais o pedido passou"
}
},
"required": [
"itens",
"observacoes",
"logsStatus"
]
}
Processando pagamentos ¶
Uma vez registrado, um pedido pode ter seu pagamento processado via API.
Atualmente apenas o gateway de pagamento Rede está disponível para processamento via API.

Autenticação adicional ¶
No processamento de pagamento via Rede. Pode ser necessário que o cliente seja direcionado a uma url de autenticação adicional da Rede.
Normalmente isso acontece no fluxo de segurança 3DS. Essa URL não pertence e não é controlada pelo Paytour, sendo um processo totalmente controlado pelo Gateway/bandeira/emissor do cartão.
Por esta razão, é necessário fornecer o campo redirect_url, uma url do seu sistema, para onde o cliente será redirecionado ao finalizar da autenticação adicional.
Ao redirecionar para a sua url, serão adicionados os campos pedidoId e result na query, este último podendo ser ‘1’ ou ‘0’ para indicar sucesso ou falha.
Exemplo: redirect_url = https://example.com resultará no cliente sendo direcionado para https://example.com?pedidoId=123&result=1 após finalizada a autenticação bem sucedida.

Processar PagamentoPOST/pedidos/{id}/checkout
Example URI
POST https://api.paytour.com.br/v2/pedidos/5496/checkout
URI ParametersHide
id
int (required) Example: 5496
O Id do pedido

RequestHide
Headers
Content-Type: multipart/form-data
Authorization: Bearer <authorization-token>
Body
{
"metodo_pagamento": "rede",
"parcelamento": 12,
"numero_cartao": "1234 1234 1234 1234",
"vencimento": "09/2030",
"codigo_seguranca": 123,
"nome_titular": "Pedro carvalho",
"redirect_url": "https//example.com"
}
Schema
{
"type": "object",
"properties": {
"metodo_pagamento": {
"type": "string",
"description": "Indica para o Paytour que a Rede deve ser usada para processar o pagamento"
},
"parcelamento": {
"type": "number",
"description": "Em quantas parcelas deve ser feito o pagamento"
},
"numero_cartao": {
"type": "string",
"description": "O Número do cartão"
},
"vencimento": {
"type": "string",
"description": "Data de vencimento no formato MM/YYYY, nesse exemplo Setembro de 2030"
},
"codigo_seguranca": {
"type": "number",
"description": "O nome completo do títular"
},
"nome_titular": {
"type": "string",
"description": "O nome completo do títular"
},
"redirect_url": {
"type": "string",
"description": "A url para onde o cliente deve voltar ao finalizar a segunda etapa de autenticação"
}
},
"$schema": "http://json-schema.org/draft-04/schema#"
}
Response  401Hide
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200Hide
Headers
Content-Type: application/json
Body
{
  "success": true,
  "message": "Pagamento aprovado.",
  "redirect_url": "https//example.com",
  "order": {
    "id": "200",
    "loja_id": "468",
    "valor": "170.00",
    "desconto": "0.00",
    "cliente_nome": "João Carlos da Silva",
    "cliente_email": "joao_carlos@gmail.com",
    "cliente_cpf": "15658922243",
    "cliente_celular": "(84) 999999999",
    "cliente_telefone": "(84) 999999999",
    "cliente_ddi": "+55",
    "cliente_cep": "00000-000",
    "cliente_endereco": "Rua São Carlos",
    "cliente_complemento": "Próxima ao posto",
    "cliente_numero": "19",
    "cliente_bairro": "Ana Vieira",
    "cliente_cidade": "Natal",
    "cliente_uf": "RN",
    "cliente_pais": "BRA",
    "cliente_estrangeiro": 0,
    "data_hora_pedido": "2020-08-01 09:47:39",
    "data_hora_atualizacao": "2020-08-01 09:47:39",
    "status": "aprovado",
    "status_pagseguro": "aprovado",
    "pagseguro_transacao_id": "as54s58",
    "metodo_pagamento": "dinheiro",
    "metodo_pagamento_externo": "dinheiro",
    "transacao_id": "5484as-as4554-sas4d-54",
    "status_pagamento": "pago",
    "cupom_id": "415",
    "afiliado_id": "454",
    "afiliado_comissao": "45.00",
    "afiliado_data_hora_clique": "2020-08-01 09:45:00",
    "parceiro_id": "415",
    "parceiro_comissao": "45.00",
    "parcelas_pagamento": 1,
    "bandeira_pagamento": "visa",
    "final_cartao_pagamento": "9999",
    "bin_cartao_pagamento": "999999",
    "tipo_pagamento": "creditCard",
    "transacao_erro_codigo": "1",
    "transacao_erro_mensagem": "Cartão recusado",
    "pagamento_extras": "null",
    "hospedagem_tipo": "null",
    "hospedagem_valor": "null",
    "pagamento_pendente": "1",
    "pagamento_pendente_valor": "40.00",
    "pagamento_pendente_data_limite": "2020-08-01",
    "pagamento_pendente_pago_em": "2020-08-01",
    "deposito_codigo": "6595",
    "deposito_data_pagamento": "2020-08-01",
    "assinatura": "null",
    "observacao": "null",
    "operador_id": "48",
    "loja_afiliado_id": 42,
    "utm_source": "xxx",
    "utm_medium": "xxx",
    "utm_campaign": "xxx",
    "utm_term": "xxx",
    "utm_content": "xxx",
    "_link_pagamento": "https//example.com.br/pagamento"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indica se o pagamento foi aprovado"
},
"message": {
"type": "string",
"description": "Mensagem de status do pagamento"
},
"redirect_url": {
"type": "string",
"description": "A url para onde o cliente deve ser enviado para autenticação adicional, null caso não seja necessário"
},
"order": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identificação única desse pedido"
},
"loja_id": {
"type": "string",
"description": "Identificação única da loja"
},
"valor": {
"type": "string",
"description": "Valor total do pedido"
},
"desconto": {
"type": "string",
"description": "Valor do desconto aplicado no pedido"
},
"cliente_nome": {
"type": "string",
"description": "Nome do Cliente"
},
"cliente_email": {
"type": "string",
"description": "Email do Cliente"
},
"cliente_cpf": {
"type": "string",
"description": "Documento do Cliente"
},
"cliente_celular": {
"type": "string",
"description": "Celular do Cliente"
},
"cliente_telefone": {
"type": "string",
"description": "Telefone do Cliente"
},
"cliente_ddi": {
"type": "string",
"description": "DDI do Cliente"
},
"cliente_cep": {
"type": "string",
"description": "Cep do Endereço"
},
"cliente_endereco": {
"type": "string",
"description": "Rua do Endereço"
},
"cliente_complemento": {
"type": "string",
"description": "Complemento do Endereço"
},
"cliente_numero": {
"type": "string",
"description": "Número do Endereço"
},
"cliente_bairro": {
"type": "string",
"description": "Bairro do Endereço"
},
"cliente_cidade": {
"type": "string",
"description": "Cidade do Endereço"
},
"cliente_uf": {
"type": "string",
"description": "Estado do Endereço"
},
"cliente_pais": {
"type": "string",
"description": "O código do país no padrão ISO 3166-1-alpha-3"
},
"cliente_estrangeiro": {
"type": "number",
"description": "1 se é estrangeiro"
},
"data_hora_pedido": {
"type": "string",
"description": "A data e hora do pedido no formato YYYY-MM-DD HH:mm:ss"
},
"data_hora_atualizacao": {
"type": "string",
"description": "A data e hora que o pedido foi editado pela última vez, no formato YYYY-MM-DD HH:mm:ss"
},
"status": {
"type": "string",
"description": "O status do pedido"
},
"status_pagseguro": {
"type": "string",
"description": "O status informado, quando pagamento feito pelo Pagseguro"
},
"pagseguro_transacao_id": {
"type": "string",
"description": "Id da transação feita no pagseguro"
},
"metodo_pagamento": {
"type": "string",
"description": "O método de pagamento"
},
"metodo_pagamento_externo": {
"type": "string",
"description": "O método de pagamento, quando feito por fora do sistema"
},
"transacao_id": {
"type": "string",
"description": "O id da transação de cartão de crédito"
},
"status_pagamento": {
"type": "string",
"description": "O status do pagamento desse pedido"
},
"cupom_id": {
"type": "string",
"description": "O id do cupom, quando aplicado"
},
"afiliado_id": {
"type": "string",
"description": "Id do afiliado da loja associado a venda"
},
"afiliado_comissao": {
"type": "string",
"description": "Valor a ser repassado ao afiliado"
},
"afiliado_data_hora_clique": {
"type": "string",
"description": "A data e hora do clique no link"
},
"parceiro_id": {
"type": "string",
"description": "O id do parceiro responsável pela venda"
},
"parceiro_comissao": {
"type": "string",
"description": "Valor a ser repassado ao parceiro"
},
"parcelas_pagamento": {
"type": "number",
"description": "O número de parcelas"
},
"bandeira_pagamento": {
"type": "string",
"description": "Bandeira do cartão usado"
},
"final_cartao_pagamento": {
"type": "string",
"description": "Final do cartão usado"
},
"bin_cartao_pagamento": {
"type": "string",
"description": "BIN do cartão usado"
},
"tipo_pagamento": {
"type": "string",
"description": "Método de pagamento"
},
"transacao_erro_codigo": {
"type": "string",
"description": "O código do erro na transação"
},
"transacao_erro_mensagem": {
"type": "string",
"description": "A mensagem de erro na transação"
},
"pagamento_extras": {
"type": "string",
"description": "Informações adicionais do pagamento"
},
"hospedagem_tipo": {
"type": "string",
"description": "Tipo de hospedagem do cliente"
},
"hospedagem_valor": {
"type": "string",
"description": "Valor pago pela hospedagem"
},
"pagamento_pendente": {
"type": "string",
"description": "1 se ainda tem pagamento pendente"
},
"pagamento_pendente_valor": {
"type": "string",
"description": "Valor ainda pendente a ser pago"
},
"pagamento_pendente_data_limite": {
"type": "string",
"description": "Data máxima para que o valor pendente seja pago"
},
"pagamento_pendente_pago_em": {
"type": "string",
"description": "Data do pagamento do valor pendente"
},
"deposito_codigo": {
"type": "string",
"description": "Número da transação do depósito do valor pendente"
},
"deposito_data_pagamento": {
"type": "string",
"description": "Data do pagamento do valor pendente por depósito"
},
"assinatura": {
"type": "string",
"description": "Assinatura do pedido"
},
"observacao": {
"type": "string",
"description": "Observação cadastrada no momento da venda"
},
"operador_id": {
"type": "string",
"description": "Id do usuário que realizou o pedido"
},
"loja_afiliado_id": {
"type": "number",
"description": "O id do afiliado na loja, ou null caso o pedido não tenha afiliado associado"
},
"utm_source": {
"type": "string",
"description": "O campo de UTM source"
},
"utm_medium": {
"type": "string",
"description": "O campo de UTM medium"
},
"utm_campaign": {
"type": "string",
"description": "O campo de UTM campaign"
},
"utm_term": {
"type": "string",
"description": "O campo de UTM term"
},
"utm_content": {
"type": "string",
"description": "O campo de UTM content"
},
"\_link_pagamento": {
"type": "string",
"description": "O link que o cliente deve acessar para realizar o pagamento"
}
},
"description": "Os dados atualizados do pedido que foi processado"
}
}
}
Ícones do Paytour ¶
Listando Ícones ¶
Use esse endpoint para listar os ícones disponíveis em nossa biblioteca

Listar ÍconesGET/paytour_icons
Example URI
GET https://api.paytour.com.br/v2/paytour_icons
RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
[
{
"id": "03",
"titulo": "Icone",
"icone": "abc.svg",
"_url": "https://cdn.paytour-dev.com.br/assets/uploads/icone_svg/abc.svg"
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"03"
],
"description": "Identificador único do icone"
},
"titulo": {
"type": "string",
"enum": [
"Icone"
],
"description": "O título que descreve o icone"
},
"icone": {
"type": "string",
"enum": [
"abc.svg"
],
"description": "O nome do arquivo do icone"
},
"\_url": {
"type": "string",
"enum": [
"https://cdn.paytour-dev.com.br/assets/uploads/icone_svg/abc.svg"
],
"description": "O link direto para o icone"
}
},
"required": [
"id",
"titulo",
"icone",
"_url"
],
"additionalProperties": false
}
}
Fotos de Passeios ¶
Fotos ¶
Liste, crie e edite as fotos de um passeio

Listar FotosGET/passeios/{id}/fotos
Example URI
GET https://api.paytour.com.br/v2/passeios/42/fotos
URI ParametersHide
id
int (required) Example: 42
O Id do passeio

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
[
{
"id": "03",
"capa": false,
"visivel_site": true,
"ordem": 3,
"url": "https://cdn.paytour-dev.com.br/assets/images/abc.jpg"
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"03"
],
"description": "Identificador único da foto"
},
"capa": {
"type": "boolean",
"enum": [
false
],
"description": "Se essa foto é a capa do passeio ou não"
},
"visivel_site": {
"type": "boolean",
"enum": [
true
],
"description": "Se essa foto está visível na loja online"
},
"ordem": {
"type": "number",
"enum": [
3
],
"description": "A ordem em que essa imagem aparece na loja"
},
"url": {
"type": "string",
"enum": [
"https://cdn.paytour-dev.com.br/assets/images/abc.jpg"
],
"description": "O link direto para a foto"
}
},
"required": [
"id",
"capa",
"visivel_site",
"ordem",
"url"
],
"additionalProperties": false
}
}
Cadastrar FotoPOST/passeios/{id}/fotos
Example URI
POST https://api.paytour.com.br/v2/passeios/42/fotos
URI ParametersHide
id
int (required) Example: 42
O Id do passeio

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
[
{
"success": true,
"data": [
{
"id": "03",
"capa": false,
"visivel_site": true,
"ordem": 3,
"url": "https://cdn.paytour-dev.com.br/assets/images/abc.jpg"
}
]
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"enum": [
true
],
"description": "Se a operação foi bem sucedida"
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"03"
],
"description": "Identificador único da foto"
},
"capa": {
"type": "boolean",
"enum": [
false
],
"description": "Se essa foto é a capa do passeio ou não"
},
"visivel_site": {
"type": "boolean",
"enum": [
true
],
"description": "Se essa foto está visível na loja online"
},
"ordem": {
"type": "number",
"enum": [
3
],
"description": "A ordem em que essa imagem aparece na loja"
},
"url": {
"type": "string",
"enum": [
"https://cdn.paytour-dev.com.br/assets/images/abc.jpg"
],
"description": "O link direto para a foto"
}
},
"required": [
"id",
"capa",
"visivel_site",
"ordem",
"url"
],
"additionalProperties": false
},
"description": "A foto"
}
},
"required": [
"success",
"data"
],
"additionalProperties": false
}
}
Manipular uma Foto ¶
Não é possível editar o arquivo da foto, apenas posição, se está visível no site e se é capa

Editar FotoPUT/passeios/{passeio_id}/fotos/{id}
Example URI
PUT https://api.paytour.com.br/v2/passeios/42/fotos/42
URI ParametersHide
passeio_id
int (required) Example: 42
O Id do passeio

id
int (required) Example: 42
O Id da foto

RequestHide
Headers
Authorization: Bearer <authorization-token>
Body
{
"capa": 0,
"visivel_site": 1,
"ordem": 3
}
Schema
{
"type": "object",
"properties": {
"capa": {
"type": "number",
"description": "Se essa foto é a capa do passeio ou não"
},
"visivel_site": {
"type": "number",
"description": "Se essa foto está visível na loja online"
},
"ordem": {
"type": "number",
"description": "A ordem em que essa imagem aparece na loja"
}
},
"$schema": "http://json-schema.org/draft-04/schema#"
}
Response  401Hide
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200Hide
Headers
Content-Type: application/json
Body
{
  "success": true,
  "data": [
    {
      "id": "03",
      "capa": false,
      "visivel_site": true,
      "ordem": 3,
      "url": "https://cdn.paytour-dev.com.br/assets/images/abc.jpg"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Se a operação foi bem sucedida"
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"03"
],
"description": "Identificador único da foto"
},
"capa": {
"type": "boolean",
"enum": [
false
],
"description": "Se essa foto é a capa do passeio ou não"
},
"visivel_site": {
"type": "boolean",
"enum": [
true
],
"description": "Se essa foto está visível na loja online"
},
"ordem": {
"type": "number",
"enum": [
3
],
"description": "A ordem em que essa imagem aparece na loja"
},
"url": {
"type": "string",
"enum": [
"https://cdn.paytour-dev.com.br/assets/images/abc.jpg"
],
"description": "O link direto para a foto"
}
},
"required": [
"id",
"capa",
"visivel_site",
"ordem",
"url"
],
"additionalProperties": false
},
"description": "A foto"
}
},
"required": [
"data"
]
}
Apagar FotoDELETE/passeios/{passeio_id}/fotos/{id}
Example URI
DELETE https://api.paytour.com.br/v2/passeios/42/fotos/42
URI ParametersHide
passeio_id
int (required) Example: 42
O Id do passeio

id
int (required) Example: 42
O Id da foto

RequestShow
Response 401Show
Response 200Show
Reordenar ¶
O payload deve ser um array contendo os ids das fotos e as posições serão usadas como ordenamento

Ordenar FotosPUT/passeios/{passeio_id}/fotos/ordenar
Example URI
PUT https://api.paytour.com.br/v2/passeios/42/fotos/ordenar
URI ParametersHide
passeio_id
int (required) Example: 42
O Id do passeio

RequestShow
Response 401Show
Response 200Show
Hospedagens ¶
Listando Hospedagens ¶
Para listar as hospedagens da loja, realize uma requisição GET para este endpoint, entretanto o resultado estará paginado.

Listar HospedagensGET/hospedagens{?page,perPage}
Example URI
GET https://api.paytour.com.br/v2/hospedagens?page=1&perPage=20
URI ParametersHide
page
int (required) Example: 1
A página que se deseja obter

perPage
int (required) Example: 20
Número de hospedagens por página sendo no máximo 100

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"info": {
"total": 1,
"pagina": 1,
"total_paginas": 1
},
"itens": [
{
"id": 1,
"loja_id": 1,
"nome": "Pousada etc",
"telefone": "84 98888 8888",
"email": "exemplo@dominio.com",
"cep": "5900-000",
"endereco": "Rua exemplo",
"complemento": "Sala 5",
"numero": "15",
"bairro": "Centro",
"cidade": "Natal",
"codigo_interno": "123",
"uf": "RN",
"status": "1",
"created": "2021-06-01 15:56:50",
"updated": "2021-06-01 15:56:50",
"antecedencia_busca": 15,
"antecedencia_busca_ate": 15
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"info": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Quantidade total de registros"
},
"pagina": {
"type": "number",
"description": "Página atual"
},
"total_paginas": {
"type": "number",
"description": "Quantidade de páginas"
}
},
"description": "As informações sobre a listagem"
},
"itens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
1
],
"description": "Identificador único da hospedagem"
},
"loja_id": {
"type": "number",
"enum": [
1
],
"description": "Identificador único da loja"
},
"nome": {
"type": "string",
"enum": [
"Pousada etc"
],
"description": "O nome da hospedagem"
},
"telefone": {
"type": "string",
"enum": [
"84 98888 8888"
],
"description": "O telefone da hospedagem"
},
"email": {
"type": "string",
"enum": [
"exemplo@dominio.com"
],
"description": "O email para contato"
},
"cep": {
"type": "string",
"enum": [
"5900-000"
],
"description": "O CEP"
},
"endereco": {
"type": "string",
"enum": [
"Rua exemplo"
],
"description": "A primeira linha do endereço"
},
"complemento": {
"type": "string",
"enum": [
"Sala 5"
],
"description": "O complemento do endereço"
},
"numero": {
"type": "string",
"enum": [
"15"
],
"description": "O número do endereço"
},
"bairro": {
"type": "string",
"enum": [
"Centro"
],
"description": "O bairro do endereço"
},
"cidade": {
"type": "string",
"enum": [
"Natal"
],
"description": "A cidade do endereço"
},
"codigo_interno": {
"type": "string",
"enum": [
"123"
],
"description": "O código que identifica a hospedagem no sistema"
},
"uf": {
"type": "string",
"enum": [
"RN"
],
"description": "A UF com 2 letras"
},
"status": {
"type": "string",
"enum": [
"1"
],
"description": "Se está ativo"
},
"created": {
"type": "string",
"enum": [
"2021-06-01 15:56:50"
],
"description": "Data de criação"
},
"updated": {
"type": "string",
"enum": [
"2021-06-01 15:56:50"
],
"description": "Data da última atualização"
},
"antecedencia_busca": {
"type": "number",
"enum": [
15
],
"description": "Quantos minutos o transporte deve chegar antes da partida"
},
"antecedencia_busca_ate": {
"type": "number",
"enum": [
15
],
"description": "Quantos minutos, no máximo o transporte deve chegar antes da partida"
}
},
"required": [
"id",
"loja_id",
"nome",
"telefone",
"email",
"cep",
"endereco",
"complemento",
"numero",
"bairro",
"cidade",
"codigo_interno",
"uf",
"status",
"created",
"updated",
"antecedencia_busca",
"antecedencia_busca_ate"
],
"additionalProperties": false
},
"description": "A lista de hospedagens"
}
},
"required": [
"itens"
]
}
Operações com a Hospedagem ¶
Este endpoint permite obter informações dado um id válido

Detalhar HospedagemGET/hospedagens/{id}
Example URI
GET https://api.paytour.com.br/v2/hospedagens/42
URI ParametersHide
id
int (required) Example: 42
O id da hospedagem

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"id": 1,
"loja_id": 1,
"nome": "Pousada etc",
"telefone": "84 98888 8888",
"email": "exemplo@dominio.com",
"cep": "5900-000",
"endereco": "Rua exemplo",
"complemento": "Sala 5",
"numero": "15",
"bairro": "Centro",
"cidade": "Natal",
"codigo_interno": "123",
"uf": "RN",
"status": "1",
"created": "2021-06-01 15:56:50",
"updated": "2021-06-01 15:56:50",
"antecedencia_busca": 15,
"antecedencia_busca_ate": 15
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Identificador único da hospedagem"
},
"loja_id": {
"type": "number",
"description": "Identificador único da loja"
},
"nome": {
"type": "string",
"description": "O nome da hospedagem"
},
"telefone": {
"type": "string",
"description": "O telefone da hospedagem"
},
"email": {
"type": "string",
"description": "O email para contato"
},
"cep": {
"type": "string",
"description": "O CEP"
},
"endereco": {
"type": "string",
"description": "A primeira linha do endereço"
},
"complemento": {
"type": "string",
"description": "O complemento do endereço"
},
"numero": {
"type": "string",
"description": "O número do endereço"
},
"bairro": {
"type": "string",
"description": "O bairro do endereço"
},
"cidade": {
"type": "string",
"description": "A cidade do endereço"
},
"codigo_interno": {
"type": "string",
"description": "O código que identifica a hospedagem no sistema"
},
"uf": {
"type": "string",
"description": "A UF com 2 letras"
},
"status": {
"type": "string",
"description": "Se está ativo"
},
"created": {
"type": "string",
"description": "Data de criação"
},
"updated": {
"type": "string",
"description": "Data da última atualização"
},
"antecedencia_busca": {
"type": "number",
"description": "Quantos minutos o transporte deve chegar antes da partida"
},
"antecedencia_busca_ate": {
"type": "number",
"description": "Quantos minutos, no máximo o transporte deve chegar antes da partida"
}
}
}
Afiliados ¶
Listando Afiliados ¶
Para listar os Afiliados da loja, realize uma requisição GET para este endpoint, entretanto o resultado estará paginado.

Listar AfiliadosGET/afiliados{?page,perPage}
Example URI
GET https://api.paytour.com.br/v2/afiliados?page=1&perPage=20
URI ParametersHide
page
int (required) Example: 1
A página que se deseja obter

perPage
int (required) Example: 20
Número de Afiliados por página sendo no máximo 100

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"info": {
"total": 1,
"pagina": 1,
"total_paginas": 1
},
"itens": [
{
"id": 1,
"nome": "João da silva",
"telefone": "84 98888 8888",
"email": "exemplo@dominio.com",
"celular": "84 98888 8889",
"url_site": "joaoexample.com.br",
"empresa": "João Soluções",
"estrangeiro": "0",
"loja_afiliado_id": 2,
"comissao": "16.50",
"created": "2021-06-01 15:56:50",
"updated": "2021-06-01 15:56:50",
"_codigo": "abcdefghi"
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"info": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Quantidade total de registros"
},
"pagina": {
"type": "number",
"description": "Página atual"
},
"total_paginas": {
"type": "number",
"description": "Quantidade de páginas"
}
},
"description": "As informações sobre a listagem"
},
"itens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
1
],
"description": "Identificador único do afiliado"
},
"nome": {
"type": "string",
"enum": [
"João da silva"
],
"description": "O nome do afiliado"
},
"telefone": {
"type": "string",
"enum": [
"84 98888 8888"
],
"description": "O telefone do afiliado"
},
"email": {
"type": "string",
"enum": [
"exemplo@dominio.com"
],
"description": "O email para contato"
},
"celular": {
"type": "string",
"enum": [
"84 98888 8889"
],
"description": "O telefone alternativo do afiliado"
},
"url_site": {
"type": "string",
"enum": [
"joaoexample.com.br"
],
"description": "A URL do site do afiliado"
},
"empresa": {
"type": "string",
"enum": [
"João Soluções"
],
"description": "Nome da empresa"
},
"estrangeiro": {
"type": "string",
"enum": [
"0"
],
"description": "Se é estrangeiro"
},
"loja_afiliado_id": {
"type": "number",
"enum": [
2
],
"description": "Identificador único do vínculo entre o afiliado e a loja"
},
"comissao": {
"type": "string",
"enum": [
"16.50"
],
"description": "A porcentagem da comissão"
},
"created": {
"type": "string",
"enum": [
"2021-06-01 15:56:50"
],
"description": "Data de criação"
},
"updated": {
"type": "string",
"enum": [
"2021-06-01 15:56:50"
],
"description": "Data da última atualização"
},
"\_codigo": {
"type": "string",
"enum": [
"abcdefghi"
],
"description": "O código do afiliado que pode ser passado para o site com ?ref=abcdefghi para associar a uma venda"
}
},
"required": [
"id",
"nome",
"telefone",
"email",
"celular",
"url_site",
"empresa",
"estrangeiro",
"loja_afiliado_id",
"comissao",
"created",
"updated",
"_codigo"
],
"additionalProperties": false
},
"description": "A lista de afiliados"
}
},
"required": [
"itens"
]
}
Operações com o Afiliado ¶
Este endpoint permite obter informações dado um id válido

Detalhar AfiliadoGET/afiliados/{id}
Example URI
GET https://api.paytour.com.br/v2/afiliados/42
URI ParametersHide
id
int (required) Example: 42
O id do Afiliado

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"id": 1,
"nome": "João da silva",
"telefone": "84 98888 8888",
"email": "exemplo@dominio.com",
"celular": "84 98888 8889",
"url_site": "joaoexample.com.br",
"empresa": "João Soluções",
"estrangeiro": "0",
"loja_afiliado_id": 2,
"comissao": "16.50",
"created": "2021-06-01 15:56:50",
"updated": "2021-06-01 15:56:50",
"\_codigo": "abcdefghi"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Identificador único do afiliado"
},
"nome": {
"type": "string",
"description": "O nome do afiliado"
},
"telefone": {
"type": "string",
"description": "O telefone do afiliado"
},
"email": {
"type": "string",
"description": "O email para contato"
},
"celular": {
"type": "string",
"description": "O telefone alternativo do afiliado"
},
"url_site": {
"type": "string",
"description": "A URL do site do afiliado"
},
"empresa": {
"type": "string",
"description": "Nome da empresa"
},
"estrangeiro": {
"type": "string",
"description": "Se é estrangeiro"
},
"loja_afiliado_id": {
"type": "number",
"description": "Identificador único do vínculo entre o afiliado e a loja"
},
"comissao": {
"type": "string",
"description": "A porcentagem da comissão"
},
"created": {
"type": "string",
"description": "Data de criação"
},
"updated": {
"type": "string",
"description": "Data da última atualização"
},
"\_codigo": {
"type": "string",
"description": "O código do afiliado que pode ser passado para o site com ?ref=abcdefghi para associar a uma venda"
}
}
}
Webhooks ¶
Webhooks ¶
Uma vez registrado, o webhook será chamado sempre que um novo pedido for criado.
O payload enviado contém o tipo de evento e os dados do pedido no mesmo formado do endpoint de detalhamento de pedido.
O tipo de evento estará no campo event e pode ser ORDER.CREATED, ORDER.UPDATED ou ORDER_ITEMS.UPDATED.
Os dados do pedido, no campo payload, estarão sempre no mesmo formato independente do tipo de evento.

Política de tentativas ¶
Quando o webhook é executado, o Paytour espera uma resposta HTTP entre 200 e 299. Em caso de status diferente ou falha na conexão, novas tentativas serão feitas.

A segunda tentativa é feita 30 segundos após tentativa origial.

A terceira tentativa é feita 5 minutos após a segunda tentativa.

A quarta tentativa é feita 10 minutos após a terceira tentativa.

A quinta tentativa é feita 20 minutos após a quarta tentativa.

Após 5 tentativas sem sucesso, o Paytour não tentará mais executar o webhook.

Listar WebhooksGET/webhooks
Example URI
GET https://api.paytour.com.br/v2/webhooks
RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"itens": [
{
"id": 1,
"loja_id": 1,
"url": "https://example.com",
"data_hora_criacao": "2023-08-07 01:00:00",
"data_hora_atualizacao": "2023-08-07 02:00:00"
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"itens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
1
],
"description": "O id do Webhook"
},
"loja_id": {
"type": "number",
"enum": [
1
],
"description": "O id da loja"
},
"url": {
"type": "string",
"enum": [
"https://example.com"
],
"description": "A url do Webhook"
},
"data_hora_criacao": {
"type": "string",
"enum": [
"2023-08-07 01:00:00"
],
"description": "A data e hora de criação do Webhook"
},
"data_hora_atualizacao": {
"type": "string",
"enum": [
"2023-08-07 02:00:00"
],
"description": "A data e hora da última atualização do Webhook"
}
},
"required": [
"id",
"loja_id",
"url",
"data_hora_criacao",
"data_hora_atualizacao"
],
"additionalProperties": false
},
"description": "A lista de Webkooks"
}
},
"required": [
"itens"
]
}
Registrar WebhookPOST/webhooks
Ao registrar um webhook, se já existia um anteriormente criado, ele será atualizado com a nova URL.

No header de todas as requisições enviadas ao webhook cadastrado, será enviada a entrada Authorization com o token passado em token no momento da criação.
Entretanto esse token não será retornado ao listar os webhooks. Sendo assim se o token for perdido será necessário criar um novo webhook ou atualizar o atual.

Example URI
POST https://api.paytour.com.br/v2/webhooks
RequestShow

Response 401Show
Response 201Show
Apagando um Webhook ¶
Apagar WebhookDELETE/webhooks/{id}
Example URI
DELETE https://api.paytour.com.br/v2/webhooks/42
URI ParametersHide
id
int (required) Example: 42
O id do webhook

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"sucesso": true
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"sucesso": {
"type": "boolean",
"description": "Se a operação foi bem sucedida"
}
}
}
Faixa Etária ¶
As faixas etárias são usadas para distinguir tipos de ingresso para uma atividade, elas também determinam preço.

Criando ¶
CriarPOST/classificacao
Example URI
POST https://api.paytour.com.br/v2/classificacao
RequestHide
Headers
Authorization: Bearer <authorization-token>
Body
{
"nome": "...",
"descricao": "...",
"dependente": 1
}
Schema
{
"type": "object",
"properties": {
"nome": {
"type": "string",
"description": "Como o cliente visualizará no momento da compra"
},
"descricao": {
"type": "string",
"description": "Descrição da classificação para orientar o cliente na compra"
},
"dependente": {
"type": "number",
"description": "Se essa faixa etária só pode ser vendida junto com outra que não seja dependente"
}
},
"$schema": "http://json-schema.org/draft-04/schema#"
}
Response  401Hide
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  201Hide
Headers
Content-Type: application/json
Body
{
  "success": true,
  "data": {
    "nome": "...",
    "descricao": "...",
    "dependente": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Se a operação foi bem sucedida"
},
"data": {
"type": "object",
"properties": {
"nome": {
"type": "string",
"description": "Como o cliente visualizará no momento da compra"
},
"descricao": {
"type": "string",
"description": "Descrição da classificação para orientar o cliente na compra"
},
"dependente": {
"type": "number",
"description": "Se essa faixa etária só pode ser vendida junto com outra que não seja dependente"
}
},
"description": "O payload de resposta"
}
}
}
Listando ¶
ListarGET/classificacao{?page,perPage,dependente,nome}
Example URI
GET https://api.paytour.com.br/v2/classificacao?page=1&perPage=20&dependente=1&nome=Adulto
URI ParametersHide
page
int (required) Example: 1
A página que se deseja obter

perPage
int (required) Example: 20
Número de itens por página sendo no máximo 100

dependente
number (required) Example: 1
Filtrar por classificação dependente ou não

nome
string (required) Example: Adulto
Filtrar por classificação cujo nome inclui o valor informado

RequestShow
Response 401Show
Response 200Show
Manipulando ¶
ObterGET/classificacao/{id}
Example URI
GET https://api.paytour.com.br/v2/classificacao/42
URI ParametersHide
id
int (required) Example: 42
O id

RequestShow
Response 401Show
Response 200Show
AtualizarPUT/classificacao/{id}
Example URI
PUT https://api.paytour.com.br/v2/classificacao/42
URI ParametersHide
id
int (required) Example: 42
O id

RequestShow
Response 401Show
Response 200Show
ApagarDELETE/classificacao/{id}
Example URI
DELETE https://api.paytour.com.br/v2/classificacao/42
URI ParametersHide
id
int (required) Example: 42
O id

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Formulários ¶
Listando ¶
ListarGET/formularios{?page,perPage}
Example URI
GET https://api.paytour.com.br/v2/formularios?page=1&perPage=20
URI ParametersHide
page
int (required) Example: 1
A página que se deseja obter

perPage
int (required) Example: 20
Número de itens por página sendo no máximo 100

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"itens": [
{
"nome": "...",
"campo_exibicao": "...",
"campos": "...",
"campos_voucher": "..."
}
],
"info": {
"total": 1,
"pagina": 1,
"total_paginas": 1
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"itens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"nome": {
"type": "string",
"enum": [
"..."
],
"description": "Nome"
},
"campo_exibicao": {
"type": "string",
"enum": [
"..."
],
"description": "Campo que será utilizado para identificar o utilizador no carrinho. Geralmente é o nome do utilizador."
},
"campos": {
"type": "string",
"enum": [
"..."
],
"description": "campos"
},
"campos_voucher": {
"type": "string",
"enum": [
"..."
],
"description": "Campos para exibir no voucher"
}
},
"required": [
"nome",
"campo_exibicao",
"campos",
"campos_voucher"
],
"additionalProperties": false
}
},
"info": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Quantidade total de registros"
},
"pagina": {
"type": "number",
"description": "Página atual"
},
"total_paginas": {
"type": "number",
"description": "Quantidade de páginas"
}
}
}
},
"required": [
"itens"
]
}
Manipulando ¶
ObterGET/formularios/{id}
Example URI
GET https://api.paytour.com.br/v2/formularios/42
URI ParametersHide
id
int (required) Example: 42
O id

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"nome": "...",
"campo_exibicao": "...",
"campos": "...",
"campos_voucher": "..."
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"nome": {
"type": "string",
"description": "Nome"
},
"campo_exibicao": {
"type": "string",
"description": "Campo que será utilizado para identificar o utilizador no carrinho. Geralmente é o nome do utilizador."
},
"campos": {
"type": "string",
"description": "campos"
},
"campos_voucher": {
"type": "string",
"description": "Campos para exibir no voucher"
}
}
}
Opcionais ¶
Os opcionais podem ser comprados junto de uma atividade

Criando ¶
CriarPOST/opcionais
Example URI
POST https://api.paytour.com.br/v2/opcionais
RequestHide
Headers
Authorization: Bearer <authorization-token>
Body
{
"nome": "...",
"preco": "50.00",
"periodos": [
{
"preco_sazonal_id": 42,
"periodo_id": 42,
"preco": 50,
"preco_promocao": 50
}
]
}
Schema
{
"type": "object",
"properties": {
"nome": {
"type": "string",
"description": "Nome do opcional da atividade"
},
"preco": {
"type": "string",
"description": "Preço que o opcional será vendido dentro da atividade"
},
"periodos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"preco_sazonal_id": {
"type": "number",
"description": "O id do preço sazonal caso queira atualizar, nulo caso queira criar"
},
"periodo_id": {
"type": "number",
"description": "O id do período sazonal"
},
"preco": {
"type": "number",
"description": "O preço nesse período"
},
"preco_promocao": {
"type": "number",
"description": "O preço promocional caso o período seja uma promoção"
}
}
},
"description": "Caso não tenha diferença de preço nestes períodos, deixe o campo em branco."
}
},
"$schema": "http://json-schema.org/draft-04/schema#"
}
Response  401Hide
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  201Hide
Headers
Content-Type: application/json
Body
{
  "success": true,
  "data": {
    "nome": "...",
    "preco": "50.00",
    "periodos": [
      {
        "preco_sazonal_id": 42,
        "periodo_id": 42,
        "preco": 50,
        "preco_promocao": 50
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Se a operação foi bem sucedida"
},
"data": {
"type": "object",
"properties": {
"nome": {
"type": "string",
"description": "Nome do opcional da atividade"
},
"preco": {
"type": "string",
"description": "Preço que o opcional será vendido dentro da atividade"
},
"periodos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"preco_sazonal_id": {
"type": "number",
"enum": [
42
],
"description": "O id do preço sazonal caso queira atualizar, nulo caso queira criar"
},
"periodo_id": {
"type": "number",
"enum": [
42
],
"description": "O id do período sazonal"
},
"preco": {
"type": "number",
"enum": [
50
],
"description": "O preço nesse período"
},
"preco_promocao": {
"type": "number",
"enum": [
50
],
"description": "O preço promocional caso o período seja uma promoção"
}
},
"required": [
"preco_sazonal_id",
"periodo_id",
"preco",
"preco_promocao"
],
"additionalProperties": false
},
"description": "Caso não tenha diferença de preço nestes períodos, deixe o campo em branco."
}
},
"required": [
"periodos"
],
"description": "O payload de resposta"
}
}
}
Listando ¶
ListarGET/opcionais{?page,perPage,showDeleteds}
Example URI
GET https://api.paytour.com.br/v2/opcionais?page=1&perPage=20&showDeleteds=1
URI ParametersHide
page
int (required) Example: 1
A página que se deseja obter

perPage
int (required) Example: 20
Número de itens por página sendo no máximo 100

showDeleteds
number (required) Example: 1
Mostrar também os deletados

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"itens": [
{
"nome": "...",
"preco": "50.00",
"periodos": [
{
"preco_sazonal_id": 42,
"periodo_id": 42,
"preco": 50,
"preco_promocao": 50
}
]
}
],
"info": {
"total": 1,
"pagina": 1,
"total_paginas": 1
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"itens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"nome": {
"type": "string",
"enum": [
"..."
],
"description": "Nome do opcional da atividade"
},
"preco": {
"type": "string",
"enum": [
"50.00"
],
"description": "Preço que o opcional será vendido dentro da atividade"
},
"periodos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"preco_sazonal_id": {
"type": "number",
"enum": [
42
],
"description": "O id do preço sazonal caso queira atualizar, nulo caso queira criar"
},
"periodo_id": {
"type": "number",
"enum": [
42
],
"description": "O id do período sazonal"
},
"preco": {
"type": "number",
"enum": [
50
],
"description": "O preço nesse período"
},
"preco_promocao": {
"type": "number",
"enum": [
50
],
"description": "O preço promocional caso o período seja uma promoção"
}
},
"required": [
"preco_sazonal_id",
"periodo_id",
"preco",
"preco_promocao"
],
"additionalProperties": false
},
"description": "Caso não tenha diferença de preço nestes períodos, deixe o campo em branco."
}
},
"required": [
"nome",
"preco",
"periodos"
],
"additionalProperties": false
}
},
"info": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Quantidade total de registros"
},
"pagina": {
"type": "number",
"description": "Página atual"
},
"total_paginas": {
"type": "number",
"description": "Quantidade de páginas"
}
}
}
},
"required": [
"itens"
]
}
Manipulando ¶
ObterGET/opcionais/{id}
Example URI
GET https://api.paytour.com.br/v2/opcionais/42
URI ParametersHide
id
int (required) Example: 42
O id

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"nome": "...",
"preco": "50.00",
"periodos": [
{
"preco_sazonal_id": 42,
"periodo_id": 42,
"preco": 50,
"preco_promocao": 50
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"nome": {
"type": "string",
"description": "Nome do opcional da atividade"
},
"preco": {
"type": "string",
"description": "Preço que o opcional será vendido dentro da atividade"
},
"periodos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"preco_sazonal_id": {
"type": "number",
"enum": [
42
],
"description": "O id do preço sazonal caso queira atualizar, nulo caso queira criar"
},
"periodo_id": {
"type": "number",
"enum": [
42
],
"description": "O id do período sazonal"
},
"preco": {
"type": "number",
"enum": [
50
],
"description": "O preço nesse período"
},
"preco_promocao": {
"type": "number",
"enum": [
50
],
"description": "O preço promocional caso o período seja uma promoção"
}
},
"required": [
"preco_sazonal_id",
"periodo_id",
"preco",
"preco_promocao"
],
"additionalProperties": false
},
"description": "Caso não tenha diferença de preço nestes períodos, deixe o campo em branco."
}
},
"required": [
"periodos"
]
}
AtualizarPUT/opcionais/{id}
Example URI
PUT https://api.paytour.com.br/v2/opcionais/42
URI ParametersHide
id
int (required) Example: 42
O id

RequestHide
Headers
Authorization: Bearer <authorization-token>
Body
{
"nome": "...",
"preco": "50.00",
"periodos": [
{
"preco_sazonal_id": 42,
"periodo_id": 42,
"preco": 50,
"preco_promocao": 50
}
]
}
Schema
{
"type": "object",
"properties": {
"nome": {
"type": "string",
"description": "Nome do opcional da atividade"
},
"preco": {
"type": "string",
"description": "Preço que o opcional será vendido dentro da atividade"
},
"periodos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"preco_sazonal_id": {
"type": "number",
"description": "O id do preço sazonal caso queira atualizar, nulo caso queira criar"
},
"periodo_id": {
"type": "number",
"description": "O id do período sazonal"
},
"preco": {
"type": "number",
"description": "O preço nesse período"
},
"preco_promocao": {
"type": "number",
"description": "O preço promocional caso o período seja uma promoção"
}
}
},
"description": "Caso não tenha diferença de preço nestes períodos, deixe o campo em branco."
}
},
"$schema": "http://json-schema.org/draft-04/schema#"
}
Response 401Show
Response 200Show
ApagarDELETE/opcionais/{id}
Example URI
DELETE https://api.paytour.com.br/v2/opcionais/42
URI ParametersHide
id
int (required) Example: 42
O id

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Passeios ¶
Criando ¶
CriarPOST/passeios
Example URI
POST https://api.paytour.com.br/v2/passeios
RequestHide
Headers
Authorization: Bearer <authorization-token>
Body
{
"nome": "...",
"codigo": "...",
"duracao_passeio": "...",
"descricao": "...",
"tipo_passeio": "fixo|faixa|dia_inteiro|turno|intervalo_dias",
"tipo_atividade": "passeio|transfer|pacote",
"seletor": "calendario|lista",
"url_video": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"lojas_opcionais": [
1
],
"lojas_produtos": [
1
],
"nao_vendavel": 1,
"nao_vendavel_admin": 1,
"nao_vendavel_afiliado": 1,
"exibir_proxima_data": 1,
"ativo": 1,
"mensagem_loja_nao_vendavel": "...",
"mensagem_cliente_nao_vendavel": "...",
"prazo_minimo_para_compra": 42,
"tipo_prazo_para_compra": "dias|horas",
"preenchimento_formulario": "anterior_todos|anterior_unico|posterior_todos|posterior_unico",
"prioridade": 42,
"quantidade_min_venda": 42,
"quantidade_max_venda": 42,
"termos_uso": "...",
"termos_uso_obrigatorio": 1,
"visivel_site": 1,
"texto_voucher": "...",
"produto_formulario_id": "42",
"alerta_texto": "...",
"precos": [
{
"preco_id": 1,
"faixa_etaria_id": 1,
"gratuidade": 0,
"preco": "42.00",
"preco_desconto": "35.00",
"preco_net": "30.00",
"periodos": [
{
"preco_id": 1,
"faixa_etaria_id": 1,
"periodo_id": 1,
"preco": "42.00",
"preco_promocao": "30.00",
"preco_desconto": "35.00",
"preco_net": "30.00"
}
]
}
],
"visualizacao_preco": "menor_preco|maior_preco|menor_nao_dependente|menor_preco_recente|maior_preco_recente|menor_preco_desconto|desconto_dependente|menor_geral_desconto|menor_geral_desconto_n_dependente|menor_desconto_recente",
"destino_id": "...",
"tags": "tag1,tag2",
"singular": "...",
"plural": "...",
"seo_title": "...",
"seo_description": "...",
"seo_keywords": "...",
"seo_extras": "...",
"itens_inclusos": [
{
"id": 1,
"incluso": 1,
"ordem": 1,
"descricao": "Almoço e bebida"
}
],
"itens_nao_inclusos": [
{
"id": 1,
"incluso": 0,
"ordem": 1,
"descricao": "Almoço e bebida"
}
],
"caracteristicas": [
{
"id": 1,
"icone_svg_id": 1,
"ordem": 1,
"titulo": "Desconto à vista",
"descricao": "Receba 10% de desconto pagando à vista, no PIX!"
}
]
}
Schema
{
"type": "object",
"properties": {
"nome": {
"type": "string",
"description": "Campo para inserir o nome da atividade. Exemplo: Mergulho, City Tour, Arvorismo, Atividade de Buggy."
},
"codigo": {
"type": "string",
"description": "O código cadastrado é para identificar sua atividade, uma abreviação do nome da sua atividade de maneira mais prática. Exemplo: “Mergulho” será MERG ou MERGU."
},
"duracao_passeio": {
"type": "string",
"description": "Indica ao cliente o tempo que a atividade poderá ter. Recomenda-se utilizar o termo “aproximadamente” para não causar expectativa, colocando sempre para menos. Duração de uma atividade de buggy é de 2 horas. No cadastro indicar como “aproximadamente 1h50min”."
},
"descricao": {
"type": "string",
"description": "A descrição do Passeio, podendo ser em HTML"
},
"tipo_passeio": {
"type": "string",
"description": "O tipo de atividade no que diz respeito ao horário"
},
"tipo_atividade": {
"type": "string",
"description": "Ao categorizar a atividade, ela será identificada com uma TAG (etiqueta) na listagem do site para identificação pelo cliente.<br /><br /> Atividades que estejam cadastradas com a opção 'Atividade' aparecerão na loja com a etiqueta conforme o termo cadastrado no campo 'Título da atividade' nas Regras ➝ Atividades.<br /><br /> Caso tenha dúvidas, confira este artigo em nossa Base de Conhecimento - <a href=&quot;https://atendimento.paytour.com.br/kb/article/373225/como-associar-a-tag-do-tipo-da-atividade&quot; target=&quot;_blank&quot;>Ler artigo</a>."
},
"seletor": {
"type": "string",
"description": "Escolha a opção de seletor de datas no formato Calendário ou Lista<br><br><strong>Calendário:</strong> Recomendamos o uso para atividades que tenham muitas saídas, com bastante frequência.<br><br><strong>Lista:</strong> Recomendamos utilizar esse formato para atividades que tem datas específicas de saídas, por exemplo excursões e viagens."
},
"url_video": {
"type": "string",
"description": "URL do vídeo"
},
"lojas_opcionais": {
"type": "array",
"items": {
"type": "number"
},
"description": "A lista de ids dos opcionais desse passeio"
},
"lojas_produtos": {
"type": "array",
"items": {
"type": "number"
},
"description": "Produtos Relacionados"
},
"nao_vendavel": {
"type": "number",
"description": "Se pode ser vendido pela loja(1) ou não(0)"
},
"nao_vendavel_admin": {
"type": "number",
"description": "Se pode ser vendido pelo admin(1) ou não(0)"
},
"nao_vendavel_afiliado": {
"type": "number",
"description": "Se pode ser vendido pelo afiliado(1) ou não(0)"
},
"exibir_proxima_data": {
"type": "number",
"description": "Exibir próxima data disponível na home"
},
"ativo": {
"type": "number",
"description": "Indica quando a sua Atividade está ativa no seu site ou não. A opção “Ativa” indica que irá aparecer no seu site e “Inativa” quando não deverá estar disponível no site."
},
"mensagem_loja_nao_vendavel": {
"type": "string"
},
"mensagem_cliente_nao_vendavel": {
"type": "string"
},
"prazo_minimo_para_compra": {
"type": "number",
"description": "Valor"
},
"tipo_prazo_para_compra": {
"type": "string",
"description": "Prazo mínimo para compra da atividade, podendo ser em dias ou horas.<br>Exempro dias: Com o valor <strong>3</strong> para este campo, os usuários hoje só poderão comprar esta atividade para o dia 20/05/2023 em diante.<br>Exempro horas: Com o valor <strong>3</strong> para este campo, os usuários só poderão comprar a atividade no mínimo 3 horas antes dele acontecer."
},
"preenchimento_formulario": {
"type": "string",
"description": "Existem três regras: Informar se apenas o 1º usuário deve preencher todo o formulário; Todos os usuários após a compra; Apenas o 1º usuário após a compra."
},
"prioridade": {
"type": "number",
"description": "Quanto maior o número adicionado neste campo, mais alta será a exibição da atividade na loja. Com isso, as atividades com valores mais altos estarão sempre no topo da loja, e os de valores menores estarão abaixo, seguindo sempre a ordem. Por exemplo: Atividade A com valor 100 irá aparecer primeiro do que a Atividade B com valor 1."
},
"quantidade_min_venda": {
"type": "number",
"description": "Indica o número mínimo de reservas que uma única pessoa poderá adquirir dessa atividade"
},
"quantidade_max_venda": {
"type": "number",
"description": "Indica o número máximo de reservas que uma única pessoa poderá adquirir dessa atividade."
},
"termos_uso": {
"type": "string",
"description": "O texto dos termos de uso podendo ser em HTML"
},
"termos_uso_obrigatorio": {
"type": "number",
"description": "Ativar ou desativar a opção para leitura obrigatória dos termos de uso da Atividade. Se ativado, o cliente só poderá avançar na compra apenas após a confirmação que leu e concorda com o termo. Usado para informar horários, taxas extras, peso adequado, altura para estar apto a realizar a atividade, etc."
},
"visivel_site": {
"type": "number",
"description": "Aparece na listagem do site"
},
"texto_voucher": {
"type": "string",
"description": "O texto que vai no voucher"
},
"produto_formulario_id": {
"type": "string",
"description": "Listagem dos formulários que foram cadastrados no sistema. A atividade se associará ao formulário indicado (contendo perguntas essenciais para a atividade ser realizada da melhor forma). Cada atividade pode ter seu próprio formulário, mas precisa ser direto somente com informações relevantes como antes da data de realização da atividade, por exemplo caso venha a ser um mergulho e seja necessário o número de calçado do cliente para o pé de pato."
},
"alerta_texto": {
"type": "string",
"description": "Frase que ficará no topo da foto do passeio. Frases mais usadas: Passeio mais vendido, passeio top de vendas, passeio mais procurado, etc."
},
"precos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"preco_id": {
"type": "number",
"description": "O id do preço, caso já exista"
},
"faixa_etaria_id": {
"type": "number",
"description": "O id da faixa etária"
},
"gratuidade": {
"type": "number",
"description": "1 se esse preço é na verdade gratuito e 0 caso contrário"
},
"preco": {
"type": "string",
"description": "O preço padrão"
},
"preco_desconto": {
"type": "string",
"description": "O preço com desconto pagando à vista"
},
"preco_net": {
"type": "string",
"description": "O preço para o afiliado"
},
"periodos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"preco_id": {
"type": "number",
"description": "O id do preço sazonal, caso já exista"
},
"faixa_etaria_id": {
"type": "number",
"description": "O id da faixa etária"
},
"periodo_id": {
"type": "number",
"description": "O id do período já cadastrado"
},
"preco": {
"type": "string",
"description": "O preço atual do período ou o antigo preço caso seja promoção"
},
"preco_promocao": {
"type": "string",
"description": "O novo preço do período caso seja promoção"
},
"preco_desconto": {
"type": "string",
"description": "O preço com desconto pagando à vista"
},
"preco_net": {
"type": "string",
"description": "O preço para o afiliado"
}
}
},
"description": "Os períodos de preço especiais"
}
}
},
"description": "Os preços de acordo com faixa etária e períodos"
},
"visualizacao_preco": {
"type": "string",
"description": "Mostrar Preço na Loja"
},
"destino_id": {
"type": "string",
"description": "Opção que oferece a indicação de onde é realizada a atividade. Basta digitar o nome da cidade onde sua atividade será realizada."
},
"tags": {
"type": "string",
"description": "Recurso utilizado para associar os passeios aos menus. São palavras-chave que remetem ao passeio, separadas por vírgula. Passeios como: mergulho, lancha, lagoa poderiam ter como tag a palavra “água”. A loja poderia ter um menu com um nome específico e nele estarem todos os passeios da tag associada."
},
"singular": {
"type": "string",
"description": "Este valor será exibido no carrinho. É útil quando a atividade for para mais de uma pessoa. Exemplos: pacote, quadriciclo, bicicleta, buggy."
},
"plural": {
"type": "string",
"description": "Este valor será exibido no carrinho. É útil quando a atividade for para mais de uma pessoa. Exemplos: pacotes, quadriciclos, bicicletas, buggys."
},
"seo_title": {
"type": "string",
"description": "Este texto é o que aparece no título do Google, caso deixe em branco o sistema mostrará o título da atividade"
},
"seo_description": {
"type": "string",
"description": "Este texto é o que aparece no título do Google, caso deixe em branco o sistema mostrará o título da atividade"
},
"seo_keywords": {
"type": "string",
"description": "As palavras chaves não aparecem no resultado do Google, mas ajuda na busca caso alguém pesquise por uma delas. Cadastre as palavras-chave separadas por vírgula."
},
"seo_extras": {
"type": "string",
"description": "Coloque tags extras para serem adicionadas na página de detalhe da atividade."
},
"itens_inclusos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "O id do item incluso, caso já exista"
},
"incluso": {
"type": "number",
"description": "Se este item é do tipo incluso ou não. Deve ser 1"
},
"ordem": {
"type": "number",
"description": "A ordem em que esse item aparece"
},
"descricao": {
"type": "string",
"description": "Uma frase que descreva o item incluso"
}
}
},
"description": "Os itens que esse passeio inclui"
},
"itens_nao_inclusos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "O id do item incluso, caso já exista"
},
"incluso": {
"type": "number",
"description": "Se este item é do tipo incluso ou não. Deve ser 0"
},
"ordem": {
"type": "number",
"description": "A ordem em que esse item aparece"
},
"descricao": {
"type": "string",
"description": "Uma frase que descreva o item incluso"
}
}
},
"description": "Os itens que esse passeio inclui"
},
"caracteristicas": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "O id da caracteristica, caso já exista"
},
"icone_svg_id": {
"type": "number",
"description": "O id do icone SVG da nossa base de dados"
},
"ordem": {
"type": "number",
"description": "A ordem em que esse item aparece"
},
"titulo": {
"type": "string",
"description": "O título dessa caracteristica"
},
"descricao": {
"type": "string",
"description": "O título dessa caracteristica"
}
}
},
"description": "Os itens que esse passeio inclui"
}
},
"$schema": "http://json-schema.org/draft-04/schema#"
}
Response  401Hide
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  201Hide
Headers
Content-Type: application/json
Body
{
  "success": true,
  "data": {
    "nome": "...",
    "codigo": "...",
    "duracao_passeio": "...",
    "descricao": "...",
    "tipo_passeio": "fixo|faixa|dia_inteiro|turno|intervalo_dias",
    "tipo_atividade": "passeio|transfer|pacote",
    "seletor": "calendario|lista",
    "url_video": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
    "lojas_opcionais": [
      1
    ],
    "lojas_produtos": [
      1
    ],
    "nao_vendavel": 1,
    "nao_vendavel_admin": 1,
    "nao_vendavel_afiliado": 1,
    "exibir_proxima_data": 1,
    "ativo": 1,
    "mensagem_loja_nao_vendavel": "...",
    "mensagem_cliente_nao_vendavel": "...",
    "prazo_minimo_para_compra": 42,
    "tipo_prazo_para_compra": "dias|horas",
    "preenchimento_formulario": "anterior_todos|anterior_unico|posterior_todos|posterior_unico",
    "prioridade": 42,
    "quantidade_min_venda": 42,
    "quantidade_max_venda": 42,
    "termos_uso": "...",
    "termos_uso_obrigatorio": 1,
    "visivel_site": 1,
    "texto_voucher": "...",
    "produto_formulario_id": "42",
    "alerta_texto": "...",
    "precos": [
      {
        "preco_id": 1,
        "faixa_etaria_id": 1,
        "gratuidade": 0,
        "preco": "42.00",
        "preco_desconto": "35.00",
        "preco_net": "30.00",
        "periodos": [
          {
            "preco_id": 1,
            "faixa_etaria_id": 1,
            "periodo_id": 1,
            "preco": "42.00",
            "preco_promocao": "30.00",
            "preco_desconto": "35.00",
            "preco_net": "30.00"
          }
        ]
      }
    ],
    "visualizacao_preco": "menor_preco|maior_preco|menor_nao_dependente|menor_preco_recente|maior_preco_recente|menor_preco_desconto|desconto_dependente|menor_geral_desconto|menor_geral_desconto_n_dependente|menor_desconto_recente",
    "destino_id": "...",
    "tags": "tag1,tag2",
    "singular": "...",
    "plural": "...",
    "seo_title": "...",
    "seo_description": "...",
    "seo_keywords": "...",
    "seo_extras": "...",
    "itens_inclusos": [
      {
        "id": 1,
        "incluso": 1,
        "ordem": 1,
        "descricao": "Almoço e bebida"
      }
    ],
    "itens_nao_inclusos": [
      {
        "id": 1,
        "incluso": 0,
        "ordem": 1,
        "descricao": "Almoço e bebida"
      }
    ],
    "caracteristicas": [
      {
        "id": 1,
        "icone_svg_id": 1,
        "ordem": 1,
        "titulo": "Desconto à vista",
        "descricao": "Receba 10% de desconto pagando à vista, no PIX!"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Se a operação foi bem sucedida"
},
"data": {
"type": "object",
"properties": {
"nome": {
"type": "string",
"description": "Campo para inserir o nome da atividade. Exemplo: Mergulho, City Tour, Arvorismo, Atividade de Buggy."
},
"codigo": {
"type": "string",
"description": "O código cadastrado é para identificar sua atividade, uma abreviação do nome da sua atividade de maneira mais prática. Exemplo: “Mergulho” será MERG ou MERGU."
},
"duracao_passeio": {
"type": "string",
"description": "Indica ao cliente o tempo que a atividade poderá ter. Recomenda-se utilizar o termo “aproximadamente” para não causar expectativa, colocando sempre para menos. Duração de uma atividade de buggy é de 2 horas. No cadastro indicar como “aproximadamente 1h50min”."
},
"descricao": {
"type": "string",
"description": "A descrição do Passeio, podendo ser em HTML"
},
"tipo_passeio": {
"type": "string",
"description": "O tipo de atividade no que diz respeito ao horário"
},
"tipo_atividade": {
"type": "string",
"description": "Ao categorizar a atividade, ela será identificada com uma TAG (etiqueta) na listagem do site para identificação pelo cliente.<br /><br /> Atividades que estejam cadastradas com a opção 'Atividade' aparecerão na loja com a etiqueta conforme o termo cadastrado no campo 'Título da atividade' nas Regras ➝ Atividades.<br /><br /> Caso tenha dúvidas, confira este artigo em nossa Base de Conhecimento - <a href=&quot;https://atendimento.paytour.com.br/kb/article/373225/como-associar-a-tag-do-tipo-da-atividade&quot; target=&quot;_blank&quot;>Ler artigo</a>."
},
"seletor": {
"type": "string",
"description": "Escolha a opção de seletor de datas no formato Calendário ou Lista<br><br><strong>Calendário:</strong> Recomendamos o uso para atividades que tenham muitas saídas, com bastante frequência.<br><br><strong>Lista:</strong> Recomendamos utilizar esse formato para atividades que tem datas específicas de saídas, por exemplo excursões e viagens."
},
"url_video": {
"type": "string",
"description": "URL do vídeo"
},
"lojas_opcionais": {
"type": "array",
"items": {
"type": "number",
"enum": [
0
]
},
"description": "A lista de ids dos opcionais desse passeio"
},
"lojas_produtos": {
"type": "array",
"items": {
"type": "number",
"enum": [
0
]
},
"description": "Produtos Relacionados"
},
"nao_vendavel": {
"type": "number",
"description": "Se pode ser vendido pela loja(1) ou não(0)"
},
"nao_vendavel_admin": {
"type": "number",
"description": "Se pode ser vendido pelo admin(1) ou não(0)"
},
"nao_vendavel_afiliado": {
"type": "number",
"description": "Se pode ser vendido pelo afiliado(1) ou não(0)"
},
"exibir_proxima_data": {
"type": "number",
"description": "Exibir próxima data disponível na home"
},
"ativo": {
"type": "number",
"description": "Indica quando a sua Atividade está ativa no seu site ou não. A opção “Ativa” indica que irá aparecer no seu site e “Inativa” quando não deverá estar disponível no site."
},
"mensagem_loja_nao_vendavel": {
"type": "string"
},
"mensagem_cliente_nao_vendavel": {
"type": "string"
},
"prazo_minimo_para_compra": {
"type": "number",
"description": "Valor"
},
"tipo_prazo_para_compra": {
"type": "string",
"description": "Prazo mínimo para compra da atividade, podendo ser em dias ou horas.<br>Exempro dias: Com o valor <strong>3</strong> para este campo, os usuários hoje só poderão comprar esta atividade para o dia 20/05/2023 em diante.<br>Exempro horas: Com o valor <strong>3</strong> para este campo, os usuários só poderão comprar a atividade no mínimo 3 horas antes dele acontecer."
},
"preenchimento_formulario": {
"type": "string",
"description": "Existem três regras: Informar se apenas o 1º usuário deve preencher todo o formulário; Todos os usuários após a compra; Apenas o 1º usuário após a compra."
},
"prioridade": {
"type": "number",
"description": "Quanto maior o número adicionado neste campo, mais alta será a exibição da atividade na loja. Com isso, as atividades com valores mais altos estarão sempre no topo da loja, e os de valores menores estarão abaixo, seguindo sempre a ordem. Por exemplo: Atividade A com valor 100 irá aparecer primeiro do que a Atividade B com valor 1."
},
"quantidade_min_venda": {
"type": "number",
"description": "Indica o número mínimo de reservas que uma única pessoa poderá adquirir dessa atividade"
},
"quantidade_max_venda": {
"type": "number",
"description": "Indica o número máximo de reservas que uma única pessoa poderá adquirir dessa atividade."
},
"termos_uso": {
"type": "string",
"description": "O texto dos termos de uso podendo ser em HTML"
},
"termos_uso_obrigatorio": {
"type": "number",
"description": "Ativar ou desativar a opção para leitura obrigatória dos termos de uso da Atividade. Se ativado, o cliente só poderá avançar na compra apenas após a confirmação que leu e concorda com o termo. Usado para informar horários, taxas extras, peso adequado, altura para estar apto a realizar a atividade, etc."
},
"visivel_site": {
"type": "number",
"description": "Aparece na listagem do site"
},
"texto_voucher": {
"type": "string",
"description": "O texto que vai no voucher"
},
"produto_formulario_id": {
"type": "string",
"description": "Listagem dos formulários que foram cadastrados no sistema. A atividade se associará ao formulário indicado (contendo perguntas essenciais para a atividade ser realizada da melhor forma). Cada atividade pode ter seu próprio formulário, mas precisa ser direto somente com informações relevantes como antes da data de realização da atividade, por exemplo caso venha a ser um mergulho e seja necessário o número de calçado do cliente para o pé de pato."
},
"alerta_texto": {
"type": "string",
"description": "Frase que ficará no topo da foto do passeio. Frases mais usadas: Passeio mais vendido, passeio top de vendas, passeio mais procurado, etc."
},
"precos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"preco_id": {
"type": "number",
"enum": [
1
],
"description": "O id do preço, caso já exista"
},
"faixa_etaria_id": {
"type": "number",
"enum": [
1
],
"description": "O id da faixa etária"
},
"gratuidade": {
"type": "number",
"enum": [
0
],
"description": "1 se esse preço é na verdade gratuito e 0 caso contrário"
},
"preco": {
"type": "string",
"enum": [
"42.00"
],
"description": "O preço padrão"
},
"preco_desconto": {
"type": "string",
"enum": [
"35.00"
],
"description": "O preço com desconto pagando à vista"
},
"preco_net": {
"type": "string",
"enum": [
"30.00"
],
"description": "O preço para o afiliado"
},
"periodos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"preco_id": {
"type": "number",
"enum": [
1
],
"description": "O id do preço sazonal, caso já exista"
},
"faixa_etaria_id": {
"type": "number",
"enum": [
1
],
"description": "O id da faixa etária"
},
"periodo_id": {
"type": "number",
"enum": [
1
],
"description": "O id do período já cadastrado"
},
"preco": {
"type": "string",
"enum": [
"42.00"
],
"description": "O preço atual do período ou o antigo preço caso seja promoção"
},
"preco_promocao": {
"type": "string",
"enum": [
"30.00"
],
"description": "O novo preço do período caso seja promoção"
},
"preco_desconto": {
"type": "string",
"enum": [
"35.00"
],
"description": "O preço com desconto pagando à vista"
},
"preco_net": {
"type": "string",
"enum": [
"30.00"
],
"description": "O preço para o afiliado"
}
},
"required": [
"preco_id",
"faixa_etaria_id",
"periodo_id",
"preco",
"preco_promocao",
"preco_desconto",
"preco_net"
],
"additionalProperties": false
},
"description": "Os períodos de preço especiais"
}
},
"required": [
"preco_id",
"faixa_etaria_id",
"gratuidade",
"preco",
"preco_desconto",
"preco_net",
"periodos"
],
"additionalProperties": false
},
"description": "Os preços de acordo com faixa etária e períodos"
},
"visualizacao_preco": {
"type": "string",
"description": "Mostrar Preço na Loja"
},
"destino_id": {
"type": "string",
"description": "Opção que oferece a indicação de onde é realizada a atividade. Basta digitar o nome da cidade onde sua atividade será realizada."
},
"tags": {
"type": "string",
"description": "Recurso utilizado para associar os passeios aos menus. São palavras-chave que remetem ao passeio, separadas por vírgula. Passeios como: mergulho, lancha, lagoa poderiam ter como tag a palavra “água”. A loja poderia ter um menu com um nome específico e nele estarem todos os passeios da tag associada."
},
"singular": {
"type": "string",
"description": "Este valor será exibido no carrinho. É útil quando a atividade for para mais de uma pessoa. Exemplos: pacote, quadriciclo, bicicleta, buggy."
},
"plural": {
"type": "string",
"description": "Este valor será exibido no carrinho. É útil quando a atividade for para mais de uma pessoa. Exemplos: pacotes, quadriciclos, bicicletas, buggys."
},
"seo_title": {
"type": "string",
"description": "Este texto é o que aparece no título do Google, caso deixe em branco o sistema mostrará o título da atividade"
},
"seo_description": {
"type": "string",
"description": "Este texto é o que aparece no título do Google, caso deixe em branco o sistema mostrará o título da atividade"
},
"seo_keywords": {
"type": "string",
"description": "As palavras chaves não aparecem no resultado do Google, mas ajuda na busca caso alguém pesquise por uma delas. Cadastre as palavras-chave separadas por vírgula."
},
"seo_extras": {
"type": "string",
"description": "Coloque tags extras para serem adicionadas na página de detalhe da atividade."
},
"itens_inclusos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
1
],
"description": "O id do item incluso, caso já exista"
},
"incluso": {
"type": "number",
"enum": [
1
],
"description": "Se este item é do tipo incluso ou não. Deve ser 1"
},
"ordem": {
"type": "number",
"enum": [
1
],
"description": "A ordem em que esse item aparece"
},
"descricao": {
"type": "string",
"enum": [
"Almoço e bebida"
],
"description": "Uma frase que descreva o item incluso"
}
},
"required": [
"id",
"incluso",
"ordem",
"descricao"
],
"additionalProperties": false
},
"description": "Os itens que esse passeio inclui"
},
"itens_nao_inclusos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
1
],
"description": "O id do item incluso, caso já exista"
},
"incluso": {
"type": "number",
"enum": [
0
],
"description": "Se este item é do tipo incluso ou não. Deve ser 0"
},
"ordem": {
"type": "number",
"enum": [
1
],
"description": "A ordem em que esse item aparece"
},
"descricao": {
"type": "string",
"enum": [
"Almoço e bebida"
],
"description": "Uma frase que descreva o item incluso"
}
},
"required": [
"id",
"incluso",
"ordem",
"descricao"
],
"additionalProperties": false
},
"description": "Os itens que esse passeio inclui"
},
"caracteristicas": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
1
],
"description": "O id da caracteristica, caso já exista"
},
"icone_svg_id": {
"type": "number",
"enum": [
1
],
"description": "O id do icone SVG da nossa base de dados"
},
"ordem": {
"type": "number",
"enum": [
1
],
"description": "A ordem em que esse item aparece"
},
"titulo": {
"type": "string",
"enum": [
"Desconto à vista"
],
"description": "O título dessa caracteristica"
},
"descricao": {
"type": "string",
"enum": [
"Receba 10% de desconto pagando à vista, no PIX!"
],
"description": "O título dessa caracteristica"
}
},
"required": [
"id",
"icone_svg_id",
"ordem",
"titulo",
"descricao"
],
"additionalProperties": false
},
"description": "Os itens que esse passeio inclui"
}
},
"required": [
"lojas_opcionais",
"lojas_produtos",
"precos",
"itens_inclusos",
"itens_nao_inclusos",
"caracteristicas"
],
"description": "O payload de resposta"
}
}
}
Listando ¶
ListarGET/passeios{?page,perPage,minimalResponse,nome}
Example URI
GET https://api.paytour.com.br/v2/passeios?page=1&perPage=20&minimalResponse=1&nome=Praia
URI ParametersHide
page
int (required) Example: 1
A página que se deseja obter

perPage
int (required) Example: 20
Número de itens por página sendo no máximo 100

minimalResponse
int (required) Example: 1
Passe apenas se deseja um resposta com poucos campos e mais rápida

nome
string (required) Example: Praia
Filtrar por atividades cujo nome inclui o valor informado

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"itens": [
{
"nome": "...",
"codigo": "...",
"duracao_passeio": "...",
"descricao": "...",
"tipo_passeio": "fixo|faixa|dia_inteiro|turno|intervalo_dias",
"tipo_atividade": "passeio|transfer|pacote",
"seletor": "calendario|lista",
"url_video": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"lojas_opcionais": [
1
],
"lojas_produtos": [
1
],
"nao_vendavel": 1,
"nao_vendavel_admin": 1,
"nao_vendavel_afiliado": 1,
"exibir_proxima_data": 1,
"ativo": 1,
"mensagem_loja_nao_vendavel": "...",
"mensagem_cliente_nao_vendavel": "...",
"prazo_minimo_para_compra": 42,
"tipo_prazo_para_compra": "dias|horas",
"preenchimento_formulario": "anterior_todos|anterior_unico|posterior_todos|posterior_unico",
"prioridade": 42,
"quantidade_min_venda": 42,
"quantidade_max_venda": 42,
"termos_uso": "...",
"termos_uso_obrigatorio": 1,
"visivel_site": 1,
"texto_voucher": "...",
"produto_formulario_id": "42",
"alerta_texto": "...",
"precos": [
{
"preco_id": 1,
"faixa_etaria_id": 1,
"gratuidade": 0,
"preco": "42.00",
"preco_desconto": "35.00",
"preco_net": "30.00",
"periodos": [
{
"preco_id": 1,
"faixa_etaria_id": 1,
"periodo_id": 1,
"preco": "42.00",
"preco_promocao": "30.00",
"preco_desconto": "35.00",
"preco_net": "30.00"
}
]
}
],
"visualizacao_preco": "menor_preco|maior_preco|menor_nao_dependente|menor_preco_recente|maior_preco_recente|menor_preco_desconto|desconto_dependente|menor_geral_desconto|menor_geral_desconto_n_dependente|menor_desconto_recente",
"destino_id": "...",
"tags": "tag1,tag2",
"singular": "...",
"plural": "...",
"seo_title": "...",
"seo_description": "...",
"seo_keywords": "...",
"seo_extras": "...",
"itens_inclusos": [
{
"id": 1,
"incluso": 1,
"ordem": 1,
"descricao": "Almoço e bebida"
}
],
"itens_nao_inclusos": [
{
"id": 1,
"incluso": 0,
"ordem": 1,
"descricao": "Almoço e bebida"
}
],
"caracteristicas": [
{
"id": 1,
"icone_svg_id": 1,
"ordem": 1,
"titulo": "Desconto à vista",
"descricao": "Receba 10% de desconto pagando à vista, no PIX!"
}
]
}
],
"info": {
"total": 1,
"pagina": 1,
"total_paginas": 1
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"itens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"nome": {
"type": "string",
"enum": [
"..."
],
"description": "Campo para inserir o nome da atividade. Exemplo: Mergulho, City Tour, Arvorismo, Atividade de Buggy."
},
"codigo": {
"type": "string",
"enum": [
"..."
],
"description": "O código cadastrado é para identificar sua atividade, uma abreviação do nome da sua atividade de maneira mais prática. Exemplo: “Mergulho” será MERG ou MERGU."
},
"duracao_passeio": {
"type": "string",
"enum": [
"..."
],
"description": "Indica ao cliente o tempo que a atividade poderá ter. Recomenda-se utilizar o termo “aproximadamente” para não causar expectativa, colocando sempre para menos. Duração de uma atividade de buggy é de 2 horas. No cadastro indicar como “aproximadamente 1h50min”."
},
"descricao": {
"type": "string",
"enum": [
"..."
],
"description": "A descrição do Passeio, podendo ser em HTML"
},
"tipo_passeio": {
"type": "string",
"enum": [
"fixo|faixa|dia_inteiro|turno|intervalo_dias"
],
"description": "O tipo de atividade no que diz respeito ao horário"
},
"tipo_atividade": {
"type": "string",
"enum": [
"passeio|transfer|pacote"
],
"description": "Ao categorizar a atividade, ela será identificada com uma TAG (etiqueta) na listagem do site para identificação pelo cliente.<br /><br /> Atividades que estejam cadastradas com a opção 'Atividade' aparecerão na loja com a etiqueta conforme o termo cadastrado no campo 'Título da atividade' nas Regras ➝ Atividades.<br /><br /> Caso tenha dúvidas, confira este artigo em nossa Base de Conhecimento - <a href=&quot;https://atendimento.paytour.com.br/kb/article/373225/como-associar-a-tag-do-tipo-da-atividade&quot; target=&quot;_blank&quot;>Ler artigo</a>."
},
"seletor": {
"type": "string",
"enum": [
"calendario|lista"
],
"description": "Escolha a opção de seletor de datas no formato Calendário ou Lista<br><br><strong>Calendário:</strong> Recomendamos o uso para atividades que tenham muitas saídas, com bastante frequência.<br><br><strong>Lista:</strong> Recomendamos utilizar esse formato para atividades que tem datas específicas de saídas, por exemplo excursões e viagens."
},
"url_video": {
"type": "string",
"enum": [
"https://www.youtube.com/watch?v=dQw4w9WgXcQ"
],
"description": "URL do vídeo"
},
"lojas_opcionais": {
"type": "array",
"items": {
"type": "number",
"enum": [
0
]
},
"description": "A lista de ids dos opcionais desse passeio"
},
"lojas_produtos": {
"type": "array",
"items": {
"type": "number",
"enum": [
0
]
},
"description": "Produtos Relacionados"
},
"nao_vendavel": {
"type": "number",
"enum": [
1
],
"description": "Se pode ser vendido pela loja(1) ou não(0)"
},
"nao_vendavel_admin": {
"type": "number",
"enum": [
1
],
"description": "Se pode ser vendido pelo admin(1) ou não(0)"
},
"nao_vendavel_afiliado": {
"type": "number",
"enum": [
1
],
"description": "Se pode ser vendido pelo afiliado(1) ou não(0)"
},
"exibir_proxima_data": {
"type": "number",
"enum": [
1
],
"description": "Exibir próxima data disponível na home"
},
"ativo": {
"type": "number",
"enum": [
1
],
"description": "Indica quando a sua Atividade está ativa no seu site ou não. A opção “Ativa” indica que irá aparecer no seu site e “Inativa” quando não deverá estar disponível no site."
},
"mensagem_loja_nao_vendavel": {
"type": "string",
"enum": [
"..."
]
},
"mensagem_cliente_nao_vendavel": {
"type": "string",
"enum": [
"..."
]
},
"prazo_minimo_para_compra": {
"type": "number",
"enum": [
42
],
"description": "Valor"
},
"tipo_prazo_para_compra": {
"type": "string",
"enum": [
"dias|horas"
],
"description": "Prazo mínimo para compra da atividade, podendo ser em dias ou horas.<br>Exempro dias: Com o valor <strong>3</strong> para este campo, os usuários hoje só poderão comprar esta atividade para o dia 20/05/2023 em diante.<br>Exempro horas: Com o valor <strong>3</strong> para este campo, os usuários só poderão comprar a atividade no mínimo 3 horas antes dele acontecer."
},
"preenchimento_formulario": {
"type": "string",
"enum": [
"anterior_todos|anterior_unico|posterior_todos|posterior_unico"
],
"description": "Existem três regras: Informar se apenas o 1º usuário deve preencher todo o formulário; Todos os usuários após a compra; Apenas o 1º usuário após a compra."
},
"prioridade": {
"type": "number",
"enum": [
42
],
"description": "Quanto maior o número adicionado neste campo, mais alta será a exibição da atividade na loja. Com isso, as atividades com valores mais altos estarão sempre no topo da loja, e os de valores menores estarão abaixo, seguindo sempre a ordem. Por exemplo: Atividade A com valor 100 irá aparecer primeiro do que a Atividade B com valor 1."
},
"quantidade_min_venda": {
"type": "number",
"enum": [
42
],
"description": "Indica o número mínimo de reservas que uma única pessoa poderá adquirir dessa atividade"
},
"quantidade_max_venda": {
"type": "number",
"enum": [
42
],
"description": "Indica o número máximo de reservas que uma única pessoa poderá adquirir dessa atividade."
},
"termos_uso": {
"type": "string",
"enum": [
"..."
],
"description": "O texto dos termos de uso podendo ser em HTML"
},
"termos_uso_obrigatorio": {
"type": "number",
"enum": [
1
],
"description": "Ativar ou desativar a opção para leitura obrigatória dos termos de uso da Atividade. Se ativado, o cliente só poderá avançar na compra apenas após a confirmação que leu e concorda com o termo. Usado para informar horários, taxas extras, peso adequado, altura para estar apto a realizar a atividade, etc."
},
"visivel_site": {
"type": "number",
"enum": [
1
],
"description": "Aparece na listagem do site"
},
"texto_voucher": {
"type": "string",
"enum": [
"..."
],
"description": "O texto que vai no voucher"
},
"produto_formulario_id": {
"type": "string",
"enum": [
"42"
],
"description": "Listagem dos formulários que foram cadastrados no sistema. A atividade se associará ao formulário indicado (contendo perguntas essenciais para a atividade ser realizada da melhor forma). Cada atividade pode ter seu próprio formulário, mas precisa ser direto somente com informações relevantes como antes da data de realização da atividade, por exemplo caso venha a ser um mergulho e seja necessário o número de calçado do cliente para o pé de pato."
},
"alerta_texto": {
"type": "string",
"enum": [
"..."
],
"description": "Frase que ficará no topo da foto do passeio. Frases mais usadas: Passeio mais vendido, passeio top de vendas, passeio mais procurado, etc."
},
"precos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"preco_id": {
"type": "number",
"enum": [
1
],
"description": "O id do preço, caso já exista"
},
"faixa_etaria_id": {
"type": "number",
"enum": [
1
],
"description": "O id da faixa etária"
},
"gratuidade": {
"type": "number",
"enum": [
0
],
"description": "1 se esse preço é na verdade gratuito e 0 caso contrário"
},
"preco": {
"type": "string",
"enum": [
"42.00"
],
"description": "O preço padrão"
},
"preco_desconto": {
"type": "string",
"enum": [
"35.00"
],
"description": "O preço com desconto pagando à vista"
},
"preco_net": {
"type": "string",
"enum": [
"30.00"
],
"description": "O preço para o afiliado"
},
"periodos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"preco_id": {
"type": "number",
"enum": [
1
],
"description": "O id do preço sazonal, caso já exista"
},
"faixa_etaria_id": {
"type": "number",
"enum": [
1
],
"description": "O id da faixa etária"
},
"periodo_id": {
"type": "number",
"enum": [
1
],
"description": "O id do período já cadastrado"
},
"preco": {
"type": "string",
"enum": [
"42.00"
],
"description": "O preço atual do período ou o antigo preço caso seja promoção"
},
"preco_promocao": {
"type": "string",
"enum": [
"30.00"
],
"description": "O novo preço do período caso seja promoção"
},
"preco_desconto": {
"type": "string",
"enum": [
"35.00"
],
"description": "O preço com desconto pagando à vista"
},
"preco_net": {
"type": "string",
"enum": [
"30.00"
],
"description": "O preço para o afiliado"
}
},
"required": [
"preco_id",
"faixa_etaria_id",
"periodo_id",
"preco",
"preco_promocao",
"preco_desconto",
"preco_net"
],
"additionalProperties": false
},
"description": "Os períodos de preço especiais"
}
},
"required": [
"preco_id",
"faixa_etaria_id",
"gratuidade",
"preco",
"preco_desconto",
"preco_net",
"periodos"
],
"additionalProperties": false
},
"description": "Os preços de acordo com faixa etária e períodos"
},
"visualizacao_preco": {
"type": "string",
"enum": [
"menor_preco|maior_preco|menor_nao_dependente|menor_preco_recente|maior_preco_recente|menor_preco_desconto|desconto_dependente|menor_geral_desconto|menor_geral_desconto_n_dependente|menor_desconto_recente"
],
"description": "Mostrar Preço na Loja"
},
"destino_id": {
"type": "string",
"enum": [
"..."
],
"description": "Opção que oferece a indicação de onde é realizada a atividade. Basta digitar o nome da cidade onde sua atividade será realizada."
},
"tags": {
"type": "string",
"enum": [
"tag1,tag2"
],
"description": "Recurso utilizado para associar os passeios aos menus. São palavras-chave que remetem ao passeio, separadas por vírgula. Passeios como: mergulho, lancha, lagoa poderiam ter como tag a palavra “água”. A loja poderia ter um menu com um nome específico e nele estarem todos os passeios da tag associada."
},
"singular": {
"type": "string",
"enum": [
"..."
],
"description": "Este valor será exibido no carrinho. É útil quando a atividade for para mais de uma pessoa. Exemplos: pacote, quadriciclo, bicicleta, buggy."
},
"plural": {
"type": "string",
"enum": [
"..."
],
"description": "Este valor será exibido no carrinho. É útil quando a atividade for para mais de uma pessoa. Exemplos: pacotes, quadriciclos, bicicletas, buggys."
},
"seo_title": {
"type": "string",
"enum": [
"..."
],
"description": "Este texto é o que aparece no título do Google, caso deixe em branco o sistema mostrará o título da atividade"
},
"seo_description": {
"type": "string",
"enum": [
"..."
],
"description": "Este texto é o que aparece no título do Google, caso deixe em branco o sistema mostrará o título da atividade"
},
"seo_keywords": {
"type": "string",
"enum": [
"..."
],
"description": "As palavras chaves não aparecem no resultado do Google, mas ajuda na busca caso alguém pesquise por uma delas. Cadastre as palavras-chave separadas por vírgula."
},
"seo_extras": {
"type": "string",
"enum": [
"..."
],
"description": "Coloque tags extras para serem adicionadas na página de detalhe da atividade."
},
"itens_inclusos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
1
],
"description": "O id do item incluso, caso já exista"
},
"incluso": {
"type": "number",
"enum": [
1
],
"description": "Se este item é do tipo incluso ou não. Deve ser 1"
},
"ordem": {
"type": "number",
"enum": [
1
],
"description": "A ordem em que esse item aparece"
},
"descricao": {
"type": "string",
"enum": [
"Almoço e bebida"
],
"description": "Uma frase que descreva o item incluso"
}
},
"required": [
"id",
"incluso",
"ordem",
"descricao"
],
"additionalProperties": false
},
"description": "Os itens que esse passeio inclui"
},
"itens_nao_inclusos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
1
],
"description": "O id do item incluso, caso já exista"
},
"incluso": {
"type": "number",
"enum": [
0
],
"description": "Se este item é do tipo incluso ou não. Deve ser 0"
},
"ordem": {
"type": "number",
"enum": [
1
],
"description": "A ordem em que esse item aparece"
},
"descricao": {
"type": "string",
"enum": [
"Almoço e bebida"
],
"description": "Uma frase que descreva o item incluso"
}
},
"required": [
"id",
"incluso",
"ordem",
"descricao"
],
"additionalProperties": false
},
"description": "Os itens que esse passeio inclui"
},
"caracteristicas": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
1
],
"description": "O id da caracteristica, caso já exista"
},
"icone_svg_id": {
"type": "number",
"enum": [
1
],
"description": "O id do icone SVG da nossa base de dados"
},
"ordem": {
"type": "number",
"enum": [
1
],
"description": "A ordem em que esse item aparece"
},
"titulo": {
"type": "string",
"enum": [
"Desconto à vista"
],
"description": "O título dessa caracteristica"
},
"descricao": {
"type": "string",
"enum": [
"Receba 10% de desconto pagando à vista, no PIX!"
],
"description": "O título dessa caracteristica"
}
},
"required": [
"id",
"icone_svg_id",
"ordem",
"titulo",
"descricao"
],
"additionalProperties": false
},
"description": "Os itens que esse passeio inclui"
}
},
"required": [
"nome",
"codigo",
"duracao_passeio",
"descricao",
"tipo_passeio",
"tipo_atividade",
"seletor",
"url_video",
"lojas_opcionais",
"lojas_produtos",
"nao_vendavel",
"nao_vendavel_admin",
"nao_vendavel_afiliado",
"exibir_proxima_data",
"ativo",
"mensagem_loja_nao_vendavel",
"mensagem_cliente_nao_vendavel",
"prazo_minimo_para_compra",
"tipo_prazo_para_compra",
"preenchimento_formulario",
"prioridade",
"quantidade_min_venda",
"quantidade_max_venda",
"termos_uso",
"termos_uso_obrigatorio",
"visivel_site",
"texto_voucher",
"produto_formulario_id",
"alerta_texto",
"precos",
"visualizacao_preco",
"destino_id",
"tags",
"singular",
"plural",
"seo_title",
"seo_description",
"seo_keywords",
"seo_extras",
"itens_inclusos",
"itens_nao_inclusos",
"caracteristicas"
],
"additionalProperties": false
}
},
"info": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Quantidade total de registros"
},
"pagina": {
"type": "number",
"description": "Página atual"
},
"total_paginas": {
"type": "number",
"description": "Quantidade de páginas"
}
}
}
},
"required": [
"itens"
]
}
Manipulando ¶
ObterGET/passeios/{id}
Example URI
GET https://api.paytour.com.br/v2/passeios/42
URI ParametersHide
id
int (required) Example: 42
O id

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"nome": "...",
"codigo": "...",
"duracao_passeio": "...",
"descricao": "...",
"tipo_passeio": "fixo|faixa|dia_inteiro|turno|intervalo_dias",
"tipo_atividade": "passeio|transfer|pacote",
"seletor": "calendario|lista",
"url_video": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"lojas_opcionais": [
1
],
"lojas_produtos": [
1
],
"nao_vendavel": 1,
"nao_vendavel_admin": 1,
"nao_vendavel_afiliado": 1,
"exibir_proxima_data": 1,
"ativo": 1,
"mensagem_loja_nao_vendavel": "...",
"mensagem_cliente_nao_vendavel": "...",
"prazo_minimo_para_compra": 42,
"tipo_prazo_para_compra": "dias|horas",
"preenchimento_formulario": "anterior_todos|anterior_unico|posterior_todos|posterior_unico",
"prioridade": 42,
"quantidade_min_venda": 42,
"quantidade_max_venda": 42,
"termos_uso": "...",
"termos_uso_obrigatorio": 1,
"visivel_site": 1,
"texto_voucher": "...",
"produto_formulario_id": "42",
"alerta_texto": "...",
"precos": [
{
"preco_id": 1,
"faixa_etaria_id": 1,
"gratuidade": 0,
"preco": "42.00",
"preco_desconto": "35.00",
"preco_net": "30.00",
"periodos": [
{
"preco_id": 1,
"faixa_etaria_id": 1,
"periodo_id": 1,
"preco": "42.00",
"preco_promocao": "30.00",
"preco_desconto": "35.00",
"preco_net": "30.00"
}
]
}
],
"visualizacao_preco": "menor_preco|maior_preco|menor_nao_dependente|menor_preco_recente|maior_preco_recente|menor_preco_desconto|desconto_dependente|menor_geral_desconto|menor_geral_desconto_n_dependente|menor_desconto_recente",
"destino_id": "...",
"tags": "tag1,tag2",
"singular": "...",
"plural": "...",
"seo_title": "...",
"seo_description": "...",
"seo_keywords": "...",
"seo_extras": "...",
"itens_inclusos": [
{
"id": 1,
"incluso": 1,
"ordem": 1,
"descricao": "Almoço e bebida"
}
],
"itens_nao_inclusos": [
{
"id": 1,
"incluso": 0,
"ordem": 1,
"descricao": "Almoço e bebida"
}
],
"caracteristicas": [
{
"id": 1,
"icone_svg_id": 1,
"ordem": 1,
"titulo": "Desconto à vista",
"descricao": "Receba 10% de desconto pagando à vista, no PIX!"
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"nome": {
"type": "string",
"description": "Campo para inserir o nome da atividade. Exemplo: Mergulho, City Tour, Arvorismo, Atividade de Buggy."
},
"codigo": {
"type": "string",
"description": "O código cadastrado é para identificar sua atividade, uma abreviação do nome da sua atividade de maneira mais prática. Exemplo: “Mergulho” será MERG ou MERGU."
},
"duracao_passeio": {
"type": "string",
"description": "Indica ao cliente o tempo que a atividade poderá ter. Recomenda-se utilizar o termo “aproximadamente” para não causar expectativa, colocando sempre para menos. Duração de uma atividade de buggy é de 2 horas. No cadastro indicar como “aproximadamente 1h50min”."
},
"descricao": {
"type": "string",
"description": "A descrição do Passeio, podendo ser em HTML"
},
"tipo_passeio": {
"type": "string",
"description": "O tipo de atividade no que diz respeito ao horário"
},
"tipo_atividade": {
"type": "string",
"description": "Ao categorizar a atividade, ela será identificada com uma TAG (etiqueta) na listagem do site para identificação pelo cliente.<br /><br /> Atividades que estejam cadastradas com a opção 'Atividade' aparecerão na loja com a etiqueta conforme o termo cadastrado no campo 'Título da atividade' nas Regras ➝ Atividades.<br /><br /> Caso tenha dúvidas, confira este artigo em nossa Base de Conhecimento - <a href=&quot;https://atendimento.paytour.com.br/kb/article/373225/como-associar-a-tag-do-tipo-da-atividade&quot; target=&quot;_blank&quot;>Ler artigo</a>."
},
"seletor": {
"type": "string",
"description": "Escolha a opção de seletor de datas no formato Calendário ou Lista<br><br><strong>Calendário:</strong> Recomendamos o uso para atividades que tenham muitas saídas, com bastante frequência.<br><br><strong>Lista:</strong> Recomendamos utilizar esse formato para atividades que tem datas específicas de saídas, por exemplo excursões e viagens."
},
"url_video": {
"type": "string",
"description": "URL do vídeo"
},
"lojas_opcionais": {
"type": "array",
"items": {
"type": "number",
"enum": [
0
]
},
"description": "A lista de ids dos opcionais desse passeio"
},
"lojas_produtos": {
"type": "array",
"items": {
"type": "number",
"enum": [
0
]
},
"description": "Produtos Relacionados"
},
"nao_vendavel": {
"type": "number",
"description": "Se pode ser vendido pela loja(1) ou não(0)"
},
"nao_vendavel_admin": {
"type": "number",
"description": "Se pode ser vendido pelo admin(1) ou não(0)"
},
"nao_vendavel_afiliado": {
"type": "number",
"description": "Se pode ser vendido pelo afiliado(1) ou não(0)"
},
"exibir_proxima_data": {
"type": "number",
"description": "Exibir próxima data disponível na home"
},
"ativo": {
"type": "number",
"description": "Indica quando a sua Atividade está ativa no seu site ou não. A opção “Ativa” indica que irá aparecer no seu site e “Inativa” quando não deverá estar disponível no site."
},
"mensagem_loja_nao_vendavel": {
"type": "string"
},
"mensagem_cliente_nao_vendavel": {
"type": "string"
},
"prazo_minimo_para_compra": {
"type": "number",
"description": "Valor"
},
"tipo_prazo_para_compra": {
"type": "string",
"description": "Prazo mínimo para compra da atividade, podendo ser em dias ou horas.<br>Exempro dias: Com o valor <strong>3</strong> para este campo, os usuários hoje só poderão comprar esta atividade para o dia 20/05/2023 em diante.<br>Exempro horas: Com o valor <strong>3</strong> para este campo, os usuários só poderão comprar a atividade no mínimo 3 horas antes dele acontecer."
},
"preenchimento_formulario": {
"type": "string",
"description": "Existem três regras: Informar se apenas o 1º usuário deve preencher todo o formulário; Todos os usuários após a compra; Apenas o 1º usuário após a compra."
},
"prioridade": {
"type": "number",
"description": "Quanto maior o número adicionado neste campo, mais alta será a exibição da atividade na loja. Com isso, as atividades com valores mais altos estarão sempre no topo da loja, e os de valores menores estarão abaixo, seguindo sempre a ordem. Por exemplo: Atividade A com valor 100 irá aparecer primeiro do que a Atividade B com valor 1."
},
"quantidade_min_venda": {
"type": "number",
"description": "Indica o número mínimo de reservas que uma única pessoa poderá adquirir dessa atividade"
},
"quantidade_max_venda": {
"type": "number",
"description": "Indica o número máximo de reservas que uma única pessoa poderá adquirir dessa atividade."
},
"termos_uso": {
"type": "string",
"description": "O texto dos termos de uso podendo ser em HTML"
},
"termos_uso_obrigatorio": {
"type": "number",
"description": "Ativar ou desativar a opção para leitura obrigatória dos termos de uso da Atividade. Se ativado, o cliente só poderá avançar na compra apenas após a confirmação que leu e concorda com o termo. Usado para informar horários, taxas extras, peso adequado, altura para estar apto a realizar a atividade, etc."
},
"visivel_site": {
"type": "number",
"description": "Aparece na listagem do site"
},
"texto_voucher": {
"type": "string",
"description": "O texto que vai no voucher"
},
"produto_formulario_id": {
"type": "string",
"description": "Listagem dos formulários que foram cadastrados no sistema. A atividade se associará ao formulário indicado (contendo perguntas essenciais para a atividade ser realizada da melhor forma). Cada atividade pode ter seu próprio formulário, mas precisa ser direto somente com informações relevantes como antes da data de realização da atividade, por exemplo caso venha a ser um mergulho e seja necessário o número de calçado do cliente para o pé de pato."
},
"alerta_texto": {
"type": "string",
"description": "Frase que ficará no topo da foto do passeio. Frases mais usadas: Passeio mais vendido, passeio top de vendas, passeio mais procurado, etc."
},
"precos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"preco_id": {
"type": "number",
"enum": [
1
],
"description": "O id do preço, caso já exista"
},
"faixa_etaria_id": {
"type": "number",
"enum": [
1
],
"description": "O id da faixa etária"
},
"gratuidade": {
"type": "number",
"enum": [
0
],
"description": "1 se esse preço é na verdade gratuito e 0 caso contrário"
},
"preco": {
"type": "string",
"enum": [
"42.00"
],
"description": "O preço padrão"
},
"preco_desconto": {
"type": "string",
"enum": [
"35.00"
],
"description": "O preço com desconto pagando à vista"
},
"preco_net": {
"type": "string",
"enum": [
"30.00"
],
"description": "O preço para o afiliado"
},
"periodos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"preco_id": {
"type": "number",
"enum": [
1
],
"description": "O id do preço sazonal, caso já exista"
},
"faixa_etaria_id": {
"type": "number",
"enum": [
1
],
"description": "O id da faixa etária"
},
"periodo_id": {
"type": "number",
"enum": [
1
],
"description": "O id do período já cadastrado"
},
"preco": {
"type": "string",
"enum": [
"42.00"
],
"description": "O preço atual do período ou o antigo preço caso seja promoção"
},
"preco_promocao": {
"type": "string",
"enum": [
"30.00"
],
"description": "O novo preço do período caso seja promoção"
},
"preco_desconto": {
"type": "string",
"enum": [
"35.00"
],
"description": "O preço com desconto pagando à vista"
},
"preco_net": {
"type": "string",
"enum": [
"30.00"
],
"description": "O preço para o afiliado"
}
},
"required": [
"preco_id",
"faixa_etaria_id",
"periodo_id",
"preco",
"preco_promocao",
"preco_desconto",
"preco_net"
],
"additionalProperties": false
},
"description": "Os períodos de preço especiais"
}
},
"required": [
"preco_id",
"faixa_etaria_id",
"gratuidade",
"preco",
"preco_desconto",
"preco_net",
"periodos"
],
"additionalProperties": false
},
"description": "Os preços de acordo com faixa etária e períodos"
},
"visualizacao_preco": {
"type": "string",
"description": "Mostrar Preço na Loja"
},
"destino_id": {
"type": "string",
"description": "Opção que oferece a indicação de onde é realizada a atividade. Basta digitar o nome da cidade onde sua atividade será realizada."
},
"tags": {
"type": "string",
"description": "Recurso utilizado para associar os passeios aos menus. São palavras-chave que remetem ao passeio, separadas por vírgula. Passeios como: mergulho, lancha, lagoa poderiam ter como tag a palavra “água”. A loja poderia ter um menu com um nome específico e nele estarem todos os passeios da tag associada."
},
"singular": {
"type": "string",
"description": "Este valor será exibido no carrinho. É útil quando a atividade for para mais de uma pessoa. Exemplos: pacote, quadriciclo, bicicleta, buggy."
},
"plural": {
"type": "string",
"description": "Este valor será exibido no carrinho. É útil quando a atividade for para mais de uma pessoa. Exemplos: pacotes, quadriciclos, bicicletas, buggys."
},
"seo_title": {
"type": "string",
"description": "Este texto é o que aparece no título do Google, caso deixe em branco o sistema mostrará o título da atividade"
},
"seo_description": {
"type": "string",
"description": "Este texto é o que aparece no título do Google, caso deixe em branco o sistema mostrará o título da atividade"
},
"seo_keywords": {
"type": "string",
"description": "As palavras chaves não aparecem no resultado do Google, mas ajuda na busca caso alguém pesquise por uma delas. Cadastre as palavras-chave separadas por vírgula."
},
"seo_extras": {
"type": "string",
"description": "Coloque tags extras para serem adicionadas na página de detalhe da atividade."
},
"itens_inclusos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
1
],
"description": "O id do item incluso, caso já exista"
},
"incluso": {
"type": "number",
"enum": [
1
],
"description": "Se este item é do tipo incluso ou não. Deve ser 1"
},
"ordem": {
"type": "number",
"enum": [
1
],
"description": "A ordem em que esse item aparece"
},
"descricao": {
"type": "string",
"enum": [
"Almoço e bebida"
],
"description": "Uma frase que descreva o item incluso"
}
},
"required": [
"id",
"incluso",
"ordem",
"descricao"
],
"additionalProperties": false
},
"description": "Os itens que esse passeio inclui"
},
"itens_nao_inclusos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
1
],
"description": "O id do item incluso, caso já exista"
},
"incluso": {
"type": "number",
"enum": [
0
],
"description": "Se este item é do tipo incluso ou não. Deve ser 0"
},
"ordem": {
"type": "number",
"enum": [
1
],
"description": "A ordem em que esse item aparece"
},
"descricao": {
"type": "string",
"enum": [
"Almoço e bebida"
],
"description": "Uma frase que descreva o item incluso"
}
},
"required": [
"id",
"incluso",
"ordem",
"descricao"
],
"additionalProperties": false
},
"description": "Os itens que esse passeio inclui"
},
"caracteristicas": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"enum": [
1
],
"description": "O id da caracteristica, caso já exista"
},
"icone_svg_id": {
"type": "number",
"enum": [
1
],
"description": "O id do icone SVG da nossa base de dados"
},
"ordem": {
"type": "number",
"enum": [
1
],
"description": "A ordem em que esse item aparece"
},
"titulo": {
"type": "string",
"enum": [
"Desconto à vista"
],
"description": "O título dessa caracteristica"
},
"descricao": {
"type": "string",
"enum": [
"Receba 10% de desconto pagando à vista, no PIX!"
],
"description": "O título dessa caracteristica"
}
},
"required": [
"id",
"icone_svg_id",
"ordem",
"titulo",
"descricao"
],
"additionalProperties": false
},
"description": "Os itens que esse passeio inclui"
}
},
"required": [
"lojas_opcionais",
"lojas_produtos",
"precos",
"itens_inclusos",
"itens_nao_inclusos",
"caracteristicas"
]
}
AtualizarPUT/passeios/{id}
Example URI
PUT https://api.paytour.com.br/v2/passeios/42
URI ParametersHide
id
int (required) Example: 42
O id

RequestShow
Response 401Show
Response 200Show
ApagarDELETE/passeios/{id}
Example URI
DELETE https://api.paytour.com.br/v2/passeios/42
URI ParametersHide
id
int (required) Example: 42
O id

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Períodos Sazonais ¶
Criando ¶
CriarPOST/periodos
Example URI
POST https://api.paytour.com.br/v2/periodos
RequestHide
Headers
Authorization: Bearer <authorization-token>
Body
{
"titulo": "...",
"promocao": 1,
"data_inicio": "2023-01-01",
"data_final": "2023-01-01"
}
Schema
{
"type": "object",
"properties": {
"titulo": {
"type": "string",
"description": "Apenas para controle interno, o cliente não visualizará."
},
"promocao": {
"type": "number",
"description": "Caso o período seja promocional, no cadastro de passeios terá opçao de inserir preço <strong>DE</strong> e <strong>POR</strong>"
},
"data_inicio": {
"type": "string",
"description": "Data de início do período"
},
"data_final": {
"type": "string",
"description": "Data de término do período"
}
},
"$schema": "http://json-schema.org/draft-04/schema#"
}
Response  401Hide
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  201Hide
Headers
Content-Type: application/json
Body
{
  "success": true,
  "data": {
    "titulo": "...",
    "promocao": 1,
    "data_inicio": "2023-01-01",
    "data_final": "2023-01-01"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Se a operação foi bem sucedida"
},
"data": {
"type": "object",
"properties": {
"titulo": {
"type": "string",
"description": "Apenas para controle interno, o cliente não visualizará."
},
"promocao": {
"type": "number",
"description": "Caso o período seja promocional, no cadastro de passeios terá opçao de inserir preço <strong>DE</strong> e <strong>POR</strong>"
},
"data_inicio": {
"type": "string",
"description": "Data de início do período"
},
"data_final": {
"type": "string",
"description": "Data de término do período"
}
},
"description": "O payload de resposta"
}
}
}
Listando ¶
ListarGET/periodos{?page,perPage}
Example URI
GET https://api.paytour.com.br/v2/periodos?page=1&perPage=20
URI ParametersHide
page
int (required) Example: 1
A página que se deseja obter

perPage
int (required) Example: 20
Número de itens por página sendo no máximo 100

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"itens": [
{
"titulo": "...",
"promocao": 1,
"data_inicio": "2023-01-01",
"data_final": "2023-01-01"
}
],
"info": {
"total": 1,
"pagina": 1,
"total_paginas": 1
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"itens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"titulo": {
"type": "string",
"enum": [
"..."
],
"description": "Apenas para controle interno, o cliente não visualizará."
},
"promocao": {
"type": "number",
"enum": [
1
],
"description": "Caso o período seja promocional, no cadastro de passeios terá opçao de inserir preço <strong>DE</strong> e <strong>POR</strong>"
},
"data_inicio": {
"type": "string",
"enum": [
"2023-01-01"
],
"description": "Data de início do período"
},
"data_final": {
"type": "string",
"enum": [
"2023-01-01"
],
"description": "Data de término do período"
}
},
"required": [
"titulo",
"promocao",
"data_inicio",
"data_final"
],
"additionalProperties": false
}
},
"info": {
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Quantidade total de registros"
},
"pagina": {
"type": "number",
"description": "Página atual"
},
"total_paginas": {
"type": "number",
"description": "Quantidade de páginas"
}
}
}
},
"required": [
"itens"
]
}
Manipulando ¶
ObterGET/periodos/{id}
Example URI
GET https://api.paytour.com.br/v2/periodos/42
URI ParametersHide
id
int (required) Example: 42
O id

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Body
{
"titulo": "...",
"promocao": 1,
"data_inicio": "2023-01-01",
"data_final": "2023-01-01"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"titulo": {
"type": "string",
"description": "Apenas para controle interno, o cliente não visualizará."
},
"promocao": {
"type": "number",
"description": "Caso o período seja promocional, no cadastro de passeios terá opçao de inserir preço <strong>DE</strong> e <strong>POR</strong>"
},
"data_inicio": {
"type": "string",
"description": "Data de início do período"
},
"data_final": {
"type": "string",
"description": "Data de término do período"
}
}
}
AtualizarPUT/periodos/{id}
Example URI
PUT https://api.paytour.com.br/v2/periodos/42
URI ParametersHide
id
int (required) Example: 42
O id

RequestHide
Headers
Authorization: Bearer <authorization-token>
Body
{
"titulo": "...",
"promocao": 1,
"data_inicio": "2023-01-01",
"data_final": "2023-01-01"
}
Schema
{
"type": "object",
"properties": {
"titulo": {
"type": "string",
"description": "Apenas para controle interno, o cliente não visualizará."
},
"promocao": {
"type": "number",
"description": "Caso o período seja promocional, no cadastro de passeios terá opçao de inserir preço <strong>DE</strong> e <strong>POR</strong>"
},
"data_inicio": {
"type": "string",
"description": "Data de início do período"
},
"data_final": {
"type": "string",
"description": "Data de término do período"
}
},
"$schema": "http://json-schema.org/draft-04/schema#"
}
Response  401Hide
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200Hide
Headers
Content-Type: application/json
Body
{
  "success": true,
  "data": {
    "titulo": "...",
    "promocao": 1,
    "data_inicio": "2023-01-01",
    "data_final": "2023-01-01"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Se a operação foi bem sucedida"
},
"data": {
"type": "object",
"properties": {
"titulo": {
"type": "string",
"description": "Apenas para controle interno, o cliente não visualizará."
},
"promocao": {
"type": "number",
"description": "Caso o período seja promocional, no cadastro de passeios terá opçao de inserir preço <strong>DE</strong> e <strong>POR</strong>"
},
"data_inicio": {
"type": "string",
"description": "Data de início do período"
},
"data_final": {
"type": "string",
"description": "Data de término do período"
}
},
"description": "O payload de resposta"
}
}
}
ApagarDELETE/periodos/{id}
Example URI
DELETE https://api.paytour.com.br/v2/periodos/42
URI ParametersHide
id
int (required) Example: 42
O id

RequestHide
Headers
Authorization: Bearer <authorization-token>
Response 401Hide
Headers
Content-Type: application/json
Body
{
"message": "Unauthorized.",
"code": 1
}
Response 200Hide
Headers
Content-Type: application/json
Generated by aglio on 04 Dec 2025
