Back to top

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.

  1. Solicite ao cliente qual passeio ele deseja realizar.

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

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

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

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

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

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

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

  9. 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:

  1. Utilizando login e senha de usuário

  2. 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:

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

  2. Codifique o resultado do passo anterior em base64

Login via e-mail e senha
POST/lojas/login{?grant_type,loja_id}

Example URI

POST https://api.paytour.com.br/v2/lojas/login?grant_type=password&loja_id=42
URI Parameters
HideShow
loja_id
number (optional) Example: 42

Id da loja onde se deseja fazer login

grant_type
string (required) Example: password

Tipo de login

Request
HideShow
Headers
Authorization: Basic <credenciais-codificadas>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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": "[email protected]",
    "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": "[email protected]",
    "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:

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

  2. Codifique o resultado do passo anterior em base64

Login via credenciais de aplicativo
POST/lojas/login?grant_type=application

Example URI

POST https://api.paytour.com.br/v2/lojas/login?grant_type=application
Request
HideShow
Headers
Authorization: Basic <credenciais-codificadas>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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": "[email protected]",
    "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 token
POST/lojas/login?grant_type=refresh_token

Example URI

POST https://api.paytour.com.br/v2/lojas/login?grant_type=refresh_token
Request
HideShow
Body
refresh_token: xxxxxx
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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": "[email protected]",
    "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": "[email protected]",
    "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 Passeios
GET/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 Parameters
HideShow
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

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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 Passeio
GET/passeios/{id}{?disponibilidadeAte}

Example URI

GET https://api.paytour.com.br/v2/passeios/42?disponibilidadeAte=12
URI Parameters
HideShow
id
number (optional) Example: 42

O id do passeio

disponibilidadeAte
number (optional) Example: 12

mes

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Resource not found.",
  "code": 64
}
Response  200
HideShow
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 Combos
GET/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 Parameters
HideShow
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

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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 Atividades
GET/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 Parameters
HideShow
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

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "01",
    "pedido_id": "01",
    "produto_disponibilidade_id": 1234,
    "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"
      },
      "produto_disponibilidade_id": {
        "type": "number",
        "enum": [
          1234
        ],
        "description": "O id da disponibilidade"
      },
      "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",
      "produto_disponibilidade_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 Atividade
GET/atividades/{vouhcerCode}

Example URI

GET https://api.paytour.com.br/v2/atividades/545351815152154
URI Parameters
HideShow
vouhcerCode
string (required) Example: 545351815152154

Código de identificação do voucher

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Voucher não encontrado",
  "code": 1
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "01",
  "pedido_id": "01",
  "produto_disponibilidade_id": 1234,
  "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"
    },
    "produto_disponibilidade_id": {
      "type": "number",
      "description": "O id da disponibilidade"
    },
    "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 Atividade
POST/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 Parameters
HideShow
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

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
    "success" => false,
    "message' => "Pedido de loja diferente"
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
    "success" => false,
    "message' => "Voucher não encontrado"
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
    "success" => false,
    "message' => "Falha ao salvar o Check-In"
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "01",
  "pedido_id": "01",
  "produto_disponibilidade_id": 1234,
  "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"
    },
    "produto_disponibilidade_id": {
      "type": "number",
      "description": "O id da disponibilidade"
    },
    "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íveis
GET/passeios/{id}/dias{?mes,ano}

Example URI

GET https://api.paytour.com.br/v2/passeios/42/dias?mes=9&ano=2020
URI Parameters
HideShow
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

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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íveis
GET/passeios/{id}/horarios{?dia}

Example URI

GET https://api.paytour.com.br/v2/passeios/42/horarios?dia=2020-09-05
URI Parameters
HideShow
id
int (required) Example: 42

O Id do passeio

dia
string (required) Example: 2020-09-05

O dia escolhido no formato YYYY-MM-DD

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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árias
GET/passeios/{id}/faixas-etarias{?dia}

Example URI

GET https://api.paytour.com.br/v2/passeios/42/faixas-etarias?dia=2020-09-05
URI Parameters
HideShow
id
int (required) Example: 42

O Id do passeio

dia
string (required) Example: 2020-09-05

O dia escolhido no formato YYYY-MM-DD

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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"
  ]
}

Formulário Inteligente

Obtendo o Formulário Inteligente

Retorna os formulários inteligentes que devem ser preenchidos ao registrar um pedido de uma atividade, evento ou combo, com os campos de cada formulário. É daqui que vêm os valores de campo_id usados em formularios no registro do pedido.

O formulário vale por faixa etária: uma faixa pode usar um formulário próprio, usar o formulário padrão do produto ou não ter formulário (formulario_id nulo). Informe o dia para receber as faixas etárias daquele dia com o formulário de cada uma. Sem o dia, a resposta traz apenas o formulário padrão e a lista de formulários.

  • Atividades e eventos: o formulário de cada faixa vem em faixas_etarias[].formulario_id. Em ingressos de casadinha (eventos), cada dia do pacote é um ingresso. O formulário de cada um vem em faixas_etarias[].ingressos, e o preenchimento de cada pessoa traz os campos de todos esses formulários (cada dia recebe os campos do seu).

  • Combos: cada atividade do combo tem o próprio formulário, em atividades[].faixas_etarias[].formulario_id. No registro do pedido, o faixa_etaria_id de cada preenchimento aceita o id da faixa (o mesmo de faixas_etarias[].id) ou o faixa_etaria_id desta resposta. Atividades cujo formulário é preenchido depois da compra (posterior_todos e posterior_unico) vêm sem formulário.

Quantos preenchimentos enviar

  • Um por pessoa da faixa etária, na ordem das pessoas, quando a faixa (ou o ingresso) tem todas_as_pessoas: true.

  • Um só preenchimento para o item inteiro quando todas_as_pessoas é false (formulário padrão do produto com preenchimento_formulario anterior_unico): mande-o na primeira faixa do pedido que usa esse formulário, e nenhum nas outras faixas. Todas as pessoas herdam as respostas. Formulário próprio da faixa pede todas as pessoas mesmo no anterior_unico.

  • Um só preenchimento por formulário quando o formulário tem coleta_unica (todos os campos são coletados uma vez): também na primeira faixa do pedido que usa esse formulário.

  • Mandar mais preenchimentos que o necessário é recusado com 400 (“não corresponde a um ingresso que exige preenchimento”).

  • Faixas, ingressos e atividades com formulario_id nulo não recebem preenchimento.

  • Na casadinha, mande um item por pessoa com os campos de todos os dias: cada dia usa os campos do seu formulário e as mesmas regras acima.

  • Na atividade, o formulário próprio da faixa só vale quando a atividade tem formulário padrão; sem ele, a faixa vem com formulario_id nulo.

Regras dos campos

obrigatorio indica um campo obrigatório; com regras condicionais (show_if_*, hide_if_*, required_if_*), ele só é cobrado quando a condição vale. regras traz validações e condições extras: por exemplo, required_if_field_equals torna o campo obrigatório quando outro campo tem um valor, e date_years_ago exige uma idade mínima. Quando a regra depende de outro campo, config.uuid_field é o id desse campo.

Obter Formulário Inteligente
GET/passeios/{id}/formulario{?dia}

Example URI

GET https://api.paytour.com.br/v2/passeios/42/formulario?dia=2020-09-05
URI Parameters
HideShow
id
int (required) Example: 42

O Id da atividade, do evento ou do combo

dia
string (optional) Example: 2020-09-05

O dia escolhido no formato YYYY-MM-DD. Data em outro formato ou inexistente retorna 400

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Resource not found.",
  "code": 64
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "692",
  "tipo": "passeio",
  "preenchimento_formulario": "anterior_todos",
  "formulario_padrao_id": 86,
  "faixas_etarias": [
    {
      "id": "5192",
      "faixa_etaria_id": "1703",
      "nome": "Adulto",
      "formulario_id": 86,
      "todas_as_pessoas": true,
      "ingressos": [
        {
          "faixa_etaria_id": "1727",
          "nome": "Sábado",
          "formulario_id": 67,
          "todas_as_pessoas": true
        }
      ]
    }
  ],
  "atividades": [
    {
      "id": "695",
      "nome": "Transfer Privativo",
      "preenchimento_formulario": "anterior_todos",
      "formulario_padrao_id": 90,
      "faixas_etarias": [
        {
          "id": "5192",
          "faixa_etaria_id": "1703",
          "nome": "Adulto",
          "formulario_id": 86,
          "todas_as_pessoas": true,
          "ingressos": [
            {
              "faixa_etaria_id": "1727",
              "nome": "Sábado",
              "formulario_id": 67,
              "todas_as_pessoas": true
            }
          ]
        }
      ]
    }
  ],
  "formularios": [
    {
      "id": 86,
      "nome": "Cadastro de passageiro",
      "coleta_unica": false,
      "campos": [
        {
          "id": 330,
          "nome": "nome_completo",
          "tipo": "nome_completo",
          "label": "Nome completo",
          "ajuda": "``",
          "obrigatorio": true,
          "identifica_ticket": true,
          "pode_repetir": true,
          "coleta_unica": false,
          "opcoes": [],
          "regras": [
            {
              "regra": "required_if_field_equals",
              "config": {}
            }
          ]
        }
      ]
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "O Id da atividade, do evento ou do combo"
    },
    "tipo": {
      "type": "string",
      "description": "passeio, evento ou combo"
    },
    "preenchimento_formulario": {
      "type": "string",
      "description": "Quando o formulário é preenchido: `anterior_todos` (todos, na compra), `anterior_unico` (só o 1º, na compra), `posterior_todos` ou `posterior_unico` (depois da compra)"
    },
    "formulario_padrao_id": {
      "type": [
        "number",
        "null"
      ],
      "description": "O formulário padrão do produto, ou null. Em combos, vem em cada atividade"
    },
    "faixas_etarias": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "enum": [
              "5192"
            ],
            "description": "O Id da faixa etária, o mesmo de `/faixas-etarias` e de `faixas_etarias[].id` no registro do pedido"
          },
          "faixa_etaria_id": {
            "type": "string",
            "enum": [
              "1703"
            ],
            "description": "O Id da classificação da faixa etária"
          },
          "nome": {
            "type": "string",
            "enum": [
              "Adulto"
            ],
            "description": "O nome da faixa etária"
          },
          "formulario_id": {
            "type": [
              "number",
              "null"
            ],
            "enum": [
              86,
              null
            ],
            "description": "O formulário inteligente da faixa, ou null quando a faixa não usa formulário inteligente"
          },
          "todas_as_pessoas": {
            "type": "boolean",
            "enum": [
              true
            ],
            "description": "true quando cada pessoa da faixa preenche; false quando o item inteiro tem um só preenchimento, mandado na primeira faixa do pedido que usa o formulário (formulário padrão no `anterior_unico`)"
          },
          "ingressos": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "faixa_etaria_id": {
                  "type": "string",
                  "enum": [
                    "1727"
                  ],
                  "description": "O Id da classificação do ingresso"
                },
                "nome": {
                  "type": "string",
                  "enum": [
                    "Sábado"
                  ],
                  "description": "O nome do ingresso"
                },
                "formulario_id": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "enum": [
                    67,
                    null
                  ],
                  "description": "O formulário inteligente do ingresso, ou null"
                },
                "todas_as_pessoas": {
                  "type": "boolean",
                  "enum": [
                    true
                  ],
                  "description": "true quando cada pessoa preenche este ingresso; false quando o item inteiro tem um só preenchimento"
                }
              },
              "required": [
                "faixa_etaria_id",
                "nome",
                "formulario_id",
                "todas_as_pessoas"
              ],
              "additionalProperties": false
            },
            "description": "Somente em ingressos de casadinha: o formulário de cada dia do pacote. O preenchimento de cada pessoa traz os campos de todos esses formulários"
          }
        },
        "required": [
          "id",
          "faixa_etaria_id",
          "nome",
          "formulario_id",
          "todas_as_pessoas"
        ],
        "additionalProperties": false
      },
      "description": "O formulário de cada faixa etária do dia (atividades e eventos). Vazio quando o `dia` não é informado e em combos"
    },
    "atividades": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "enum": [
              "695"
            ],
            "description": "O Id da atividade do combo"
          },
          "nome": {
            "type": "string",
            "enum": [
              "Transfer Privativo"
            ],
            "description": "O nome da atividade"
          },
          "preenchimento_formulario": {
            "type": "string",
            "enum": [
              "anterior_todos"
            ],
            "description": "Quando o formulário da atividade é preenchido"
          },
          "formulario_padrao_id": {
            "type": [
              "number",
              "null"
            ],
            "enum": [
              90,
              null
            ],
            "description": "O formulário padrão da atividade, ou null"
          },
          "faixas_etarias": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "enum": [
                    "5192"
                  ],
                  "description": "O Id da faixa etária, o mesmo de `/faixas-etarias` e de `faixas_etarias[].id` no registro do pedido"
                },
                "faixa_etaria_id": {
                  "type": "string",
                  "enum": [
                    "1703"
                  ],
                  "description": "O Id da classificação da faixa etária"
                },
                "nome": {
                  "type": "string",
                  "enum": [
                    "Adulto"
                  ],
                  "description": "O nome da faixa etária"
                },
                "formulario_id": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "enum": [
                    86,
                    null
                  ],
                  "description": "O formulário inteligente da faixa, ou null quando a faixa não usa formulário inteligente"
                },
                "todas_as_pessoas": {
                  "type": "boolean",
                  "enum": [
                    true
                  ],
                  "description": "true quando cada pessoa da faixa preenche; false quando o item inteiro tem um só preenchimento, mandado na primeira faixa do pedido que usa o formulário (formulário padrão no `anterior_unico`)"
                },
                "ingressos": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "faixa_etaria_id": {
                        "type": "string",
                        "enum": [
                          "1727"
                        ],
                        "description": "O Id da classificação do ingresso"
                      },
                      "nome": {
                        "type": "string",
                        "enum": [
                          "Sábado"
                        ],
                        "description": "O nome do ingresso"
                      },
                      "formulario_id": {
                        "type": [
                          "number",
                          "null"
                        ],
                        "enum": [
                          67,
                          null
                        ],
                        "description": "O formulário inteligente do ingresso, ou null"
                      },
                      "todas_as_pessoas": {
                        "type": "boolean",
                        "enum": [
                          true
                        ],
                        "description": "true quando cada pessoa preenche este ingresso; false quando o item inteiro tem um só preenchimento"
                      }
                    },
                    "required": [
                      "faixa_etaria_id",
                      "nome",
                      "formulario_id",
                      "todas_as_pessoas"
                    ],
                    "additionalProperties": false
                  },
                  "description": "Somente em ingressos de casadinha: o formulário de cada dia do pacote. O preenchimento de cada pessoa traz os campos de todos esses formulários"
                }
              },
              "required": [
                "id",
                "faixa_etaria_id",
                "nome",
                "formulario_id",
                "todas_as_pessoas"
              ],
              "additionalProperties": false
            },
            "description": "As faixas etárias do combo no dia, com o formulário desta atividade para cada uma"
          }
        },
        "required": [
          "id",
          "nome",
          "preenchimento_formulario",
          "formulario_padrao_id",
          "faixas_etarias"
        ],
        "additionalProperties": false
      },
      "description": "As atividades do combo com o formulário de cada uma. Vazio em atividades e eventos"
    },
    "formularios": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "enum": [
              86
            ],
            "description": "O Id do formulário inteligente"
          },
          "nome": {
            "type": "string",
            "enum": [
              "Cadastro de passageiro"
            ],
            "description": "O nome do formulário"
          },
          "coleta_unica": {
            "type": "boolean",
            "enum": [
              false
            ],
            "description": "true quando todos os campos são coletados uma vez: só a primeira pessoa preenche"
          },
          "campos": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "enum": [
                    330
                  ],
                  "description": "O Id do campo: é o `campo_id` do preenchimento"
                },
                "nome": {
                  "type": "string",
                  "enum": [
                    "nome_completo"
                  ],
                  "description": "O nome técnico do campo, que volta como `chave` nas respostas do pedido"
                },
                "tipo": {
                  "type": "string",
                  "enum": [
                    "nome_completo"
                  ],
                  "description": "O tipo do campo: text, longtext, integer, money, email, telefone, checkbox, date, data_nascimento, hora, datetime, options, select, multi_select, cpf, rg, cnh, cnpj, documento, orgao_emissor_rg, nome_completo, nacionalidade, passaporte, endereco_completo ou hospedagem"
                },
                "label": {
                  "type": "string",
                  "enum": [
                    "Nome completo"
                  ],
                  "description": "O texto exibido para o cliente"
                },
                "ajuda": {
                  "type": "string",
                  "enum": [
                    "``"
                  ],
                  "description": "O texto de ajuda do campo"
                },
                "obrigatorio": {
                  "type": "boolean",
                  "enum": [
                    true
                  ],
                  "description": "Se o campo é obrigatório. Quando há regras `show_if_*`, `hide_if_*` ou `required_if_*`, vale só quando o campo é exibido ou a condição é atendida"
                },
                "identifica_ticket": {
                  "type": "boolean",
                  "enum": [
                    true
                  ],
                  "description": "Se o valor identifica a pessoa no voucher (`nome_utilizador`)"
                },
                "pode_repetir": {
                  "type": "boolean",
                  "enum": [
                    true
                  ],
                  "description": "false quando o valor não pode se repetir entre as pessoas da mesma atividade e horário"
                },
                "coleta_unica": {
                  "type": "boolean",
                  "enum": [
                    false
                  ],
                  "description": "true quando o campo é coletado uma vez e repetido para as demais pessoas"
                },
                "opcoes": {
                  "type": [
                    "array",
                    "null"
                  ],
                  "items": {
                    "type": "string",
                    "enum": [
                      ""
                    ]
                  },
                  "description": "As opções aceitas em campos de seleção, ou null"
                },
                "regras": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "regra": {
                        "type": "string",
                        "enum": [
                          "required_if_field_equals"
                        ],
                        "description": "min_value, max_value, date_years_ago, greater_than_field, less_than_field, required_if_filled, required_if_field_equals, required_if_field_not_equals, hide_if_other_filled, show_if_field_equals, show_if_field_not_equals, required_if_date_under_18 ou required_if_date_over_18"
                      },
                      "config": {
                        "type": "object",
                        "properties": {},
                        "additionalProperties": false,
                        "description": "Os parâmetros da regra. `uuid_field` é o `id` do campo referenciado e `value` o valor comparado"
                      }
                    },
                    "required": [
                      "regra",
                      "config"
                    ],
                    "additionalProperties": false
                  },
                  "description": "Validações e condições extras do campo"
                }
              },
              "required": [
                "id",
                "nome",
                "tipo",
                "label",
                "ajuda",
                "obrigatorio",
                "identifica_ticket",
                "pode_repetir",
                "coleta_unica",
                "opcoes",
                "regras"
              ],
              "additionalProperties": false
            },
            "description": "Os campos, na ordem de exibição"
          }
        },
        "required": [
          "id",
          "nome",
          "coleta_unica",
          "campos"
        ],
        "additionalProperties": false
      },
      "description": "Os formulários citados na resposta, com os campos"
    }
  },
  "required": [
    "faixas_etarias",
    "atividades",
    "formularios"
  ]
}

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ções
GET/cupons{?cupom,page,perPage}

Example URI

GET https://api.paytour.com.br/v2/cupons?cupom=CARNAVAL10&page=1&perPage=20
URI Parameters
HideShow
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

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Resource not found.",
  "code": 64
}
Response  200
HideShow
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

Criar
POST/cupons

Example URI

POST https://api.paytour.com.br/v2/cupons
Request
HideShow
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  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  201
HideShow
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

Atualizar
PUT/cupons/{id}

Example URI

PUT https://api.paytour.com.br/v2/cupons/42
URI Parameters
HideShow
id
int (required) Example: 42

O id do cupom

Request
HideShow
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  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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"
  ]
}

Apagar
DELETE/cupons/{id}

Example URI

DELETE https://api.paytour.com.br/v2/cupons/42
URI Parameters
HideShow
id
int (required) Example: 42

O id do cupom

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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 Cupom
POST/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
Request
HideShow
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  400
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "O valor mínimo dos itens aplicáveis deve ser de R$ 10,00."
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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 Destinos
GET/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 Parameters
HideShow
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  200
HideShow
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 Pedidos
GET/destinos/{id}

Example URI

GET https://api.paytour.com.br/v2/destinos/42
URI Parameters
HideShow
id
int (required) Example: 42

O id do destino a ser detalhado

Response  200
HideShow
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 Carrinhos
GET/carrinhos{?page,perPage}

Example URI

GET https://api.paytour.com.br/v2/carrinhos?page=1&perPage=20
URI Parameters
HideShow
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

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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 Carrinho
GET/carrinhos/{id}

Example URI

GET https://api.paytour.com.br/v2/carrinhos/42
URI Parameters
HideShow
id
int (required) Example: 42

O id do carrinho

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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 Carrinho
DELETE/carrinhos/{id}

Example URI

DELETE https://api.paytour.com.br/v2/carrinhos/42
URI Parameters
HideShow
id
int (required) Example: 42

O id do carrinho

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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 Carrinho
POST/carrinhos

Example URI

POST https://api.paytour.com.br/v2/carrinhos
Request
HideShow
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  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  201
HideShow
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 Pedidos
GET/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 Parameters
HideShow
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

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  201
HideShow
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": "[email protected]",
      "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",
      "pagamento_detalhes": {
        "subtotal": 100,
        "taxa_conveniencia": 5,
        "desconto": 0,
        "juros_para_cliente": 10,
        "total": 110,
        "valor_parcela": 10,
        "parcelas_pagamento": 11,
        "sem_juros_ate": 5,
        "tabela_juros": [
          {
            "initial": 2,
            "final": 6,
            "rate": 10
          }
        ],
        "pix_emv": "00020101021226850014br.gov.bcb.pix..."
      }
    }
  ]
}
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": [
              "[email protected]"
            ],
            "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"
          },
          "pagamento_detalhes": {
            "type": "object",
            "properties": {
              "subtotal": {
                "type": "number",
                "enum": [
                  100
                ],
                "description": "Valor original, antes das taxas"
              },
              "taxa_conveniencia": {
                "type": "number",
                "enum": [
                  5
                ],
                "description": "Taxa de conveniencia aplicável em venda de eventos"
              },
              "desconto": {
                "type": "number",
                "enum": [
                  0
                ],
                "description": "Desconto aplicado"
              },
              "juros_para_cliente": {
                "type": "number",
                "enum": [
                  10
                ],
                "description": "Quanto o cliente pagou em Juros"
              },
              "total": {
                "type": "number",
                "enum": [
                  110
                ],
                "description": "Total com juros"
              },
              "valor_parcela": {
                "type": "number",
                "enum": [
                  10
                ],
                "description": "O valor da parcela"
              },
              "parcelas_pagamento": {
                "type": "number",
                "enum": [
                  11
                ],
                "description": "O número de parcelas"
              },
              "sem_juros_ate": {
                "type": "number",
                "enum": [
                  5
                ],
                "description": "No momento da reserva quantas parcelas estavam configuradas sem juros"
              },
              "tabela_juros": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "initial": {
                      "type": "number",
                      "enum": [
                        2
                      ],
                      "description": "Número mínimo de parcelas onde essa taxa se aplica"
                    },
                    "final": {
                      "type": "number",
                      "enum": [
                        6
                      ],
                      "description": "Número máximo de parcelas onde essa taxa se aplica"
                    },
                    "rate": {
                      "type": "number",
                      "enum": [
                        10
                      ],
                      "description": "Porcentagem de taxa de juros"
                    }
                  },
                  "required": [
                    "initial",
                    "final",
                    "rate"
                  ],
                  "additionalProperties": false
                },
                "description": "A tabela de juros no momento da venda"
              },
              "pix_emv": {
                "type": "string",
                "enum": [
                  "00020101021226850014br.gov.bcb.pix..."
                ],
                "description": "O código PIX para pagar, pode ser usando como copia e cola, ou pode ser transformado em qrCode"
              }
            },
            "required": [
              "subtotal",
              "taxa_conveniencia",
              "desconto",
              "juros_para_cliente",
              "total",
              "valor_parcela",
              "parcelas_pagamento",
              "sem_juros_ate",
              "tabela_juros",
              "pix_emv"
            ],
            "additionalProperties": false
          }
        },
        "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",
          "pagamento_detalhes"
        ],
        "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.

Formulários inteligentes

Itens preenchidos por um formulário inteligente retornam as respostas no mesmo campo formulario dos itens (listagem com includeItems=1 e detalhe do pedido): a chave é o nome técnico do campo e cada entrada traz também tipo e valor_formatado (ver CampoFormulario). O nome_utilizador vem do primeiro campo identificador do ticket.

Detalhar Pedidos
GET/pedidos/{id}

Example URI

GET https://api.paytour.com.br/v2/pedidos/42
URI Parameters
HideShow
id
int (required) Example: 42

O id do pedido a ser detalhado

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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": "[email protected]",
  "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",
      "produto_tipo": "passeio",
      "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",
          "tipo": "nome_completo",
          "valor_formatado": "Alan Ferreira Pereira"
        }
      ],
      "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"
    }
  ],
  "pagamento_detalhes": {
    "subtotal": 100,
    "taxa_conveniencia": 5,
    "desconto": 0,
    "juros_para_cliente": 10,
    "total": 110,
    "valor_parcela": 10,
    "parcelas_pagamento": 11,
    "sem_juros_ate": 5,
    "tabela_juros": [
      {
        "initial": 2,
        "final": 6,
        "rate": 10
      }
    ],
    "pix_emv": "00020101021226850014br.gov.bcb.pix..."
  }
}
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"
          },
          "produto_tipo": {
            "type": "string",
            "enum": [
              "passeio"
            ],
            "description": "Tipo de produto: evento, combo, passeio ou 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"
                },
                "tipo": {
                  "type": "string",
                  "enum": [
                    "nome_completo"
                  ],
                  "description": "O tipo do campo no catálogo de formulários inteligentes. Presente apenas em itens de formulário inteligente"
                },
                "valor_formatado": {
                  "type": "string",
                  "enum": [
                    "Alan Ferreira Pereira"
                  ],
                  "description": "O valor formatado para exibição (datas em dd/mm/aaaa, CPF com máscara, etc). Presente apenas em itens de formulário inteligente"
                }
              },
              "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",
          "produto_tipo",
          "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"
    },
    "pagamento_detalhes": {
      "type": "object",
      "properties": {
        "subtotal": {
          "type": "number",
          "description": "Valor original, antes das taxas"
        },
        "taxa_conveniencia": {
          "type": "number",
          "description": "Taxa de conveniencia aplicável em venda de eventos"
        },
        "desconto": {
          "type": "number",
          "description": "Desconto aplicado"
        },
        "juros_para_cliente": {
          "type": "number",
          "description": "Quanto o cliente pagou em Juros"
        },
        "total": {
          "type": "number",
          "description": "Total com juros"
        },
        "valor_parcela": {
          "type": "number",
          "description": "O valor da parcela"
        },
        "parcelas_pagamento": {
          "type": "number",
          "description": "O número de parcelas"
        },
        "sem_juros_ate": {
          "type": "number",
          "description": "No momento da reserva quantas parcelas estavam configuradas sem juros"
        },
        "tabela_juros": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "initial": {
                "type": "number",
                "enum": [
                  2
                ],
                "description": "Número mínimo de parcelas onde essa taxa se aplica"
              },
              "final": {
                "type": "number",
                "enum": [
                  6
                ],
                "description": "Número máximo de parcelas onde essa taxa se aplica"
              },
              "rate": {
                "type": "number",
                "enum": [
                  10
                ],
                "description": "Porcentagem de taxa de juros"
              }
            },
            "required": [
              "initial",
              "final",
              "rate"
            ],
            "additionalProperties": false
          },
          "description": "A tabela de juros no momento da venda"
        },
        "pix_emv": {
          "type": "string",
          "description": "O código PIX para pagar, pode ser usando como copia e cola, ou pode ser transformado em qrCode"
        }
      },
      "required": [
        "tabela_juros"
      ]
    }
  },
  "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

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. Se você é loja beta tem o formulário intelige nessa documentação.

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.

Formulários inteligentes

Atividades, eventos e combos com formulário inteligente aceitam o preenchimento já no registro do pedido. Os formulários, os campos (campo_id) e quantos preenchimentos enviar estão em GET /passeios/{id}/formulario.

  • Atividades e eventos: cada faixa etária envia formularios, um {campos: [{campo_id, campo_valor}]} por pessoa daquela faixa, na ordem das pessoas (ver FaixaEtariaPayloadData). Em ingressos de casadinha, envie também um item por pessoa, com as respostas dos formulários de todos os dias do pacote: cada ingresso do pacote recebe os campos do seu formulário.

  • Combos: cada atividade em atividades envia formularios, um {faixa_etaria_id, campos} por passageiro (ver FormularioComboPreenchimentoPayloadData). Atividades sem formulário inteligente não enviam nada.

Datas aceitam YYYY-MM-DD ou DD/MM/YYYY, data e hora YYYY-MM-DD HH:MM ou DD/MM/YYYY HH:MM e hora HH:MM, sempre com dois dígitos no dia, no mês, na hora e nos minutos. Datas que não existem (como 31/02/2020) são recusadas. Campos compostos (endereço, múltipla escolha) recebem o valor em JSON serializado. As respostas são validadas com as mesmas regras da loja (obrigatoriedade, regras dos campos e não-repetição entre pessoas). Ao enviar formularios, todas as pessoas que precisam preencher devem vir preenchidas. Qualquer erro retorna 400 com a lista errors e o pedido não é criado. Sem o campo formularios, o pedido é criado com os formulários pendentes e o link de preenchimento é retornado em formularios_link. Disponível para lojas com formulários inteligentes habilitados; nas demais, formularios é ignorado.

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 Pedido
POST/pedidos

Example URI

POST https://api.paytour.com.br/v2/pedidos
Request  Passeios ou Eventos
HideShow
Headers
Authorization: Bearer <authorization-token>
Content-Type: multipart/form-data
Body
{
  "metodo_pagamento": "PAYMENT_LINK",
  "metodo_pagamento_externo": "dinheiro",
  "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
              }
            ],
            "formularios": [
              {
                "campos": [
                  {
                    "campo_id": 12,
                    "campo_valor": "João da Silva"
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  ],
  "cupom": {
    "codigo_cupom": "CARNAVAL10"
  },
  "cliente": {
    "nome": "João Carlos da Silva",
    "email": "[email protected]",
    "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, EXTERNAL"
    },
    "metodo_pagamento_externo": {
      "type": "string",
      "description": "Apenas para método EXTERNAL. Valores possíveis: dinheiro, cartao_credito, cartao_debito, pix, outros"
    },
    "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"
                    },
                    "formularios": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "campos": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "campo_id": {
                                  "type": "number",
                                  "description": "O id do campo do formulário inteligente, como em `campos[].id` de `GET /passeios/{id}/formulario`"
                                },
                                "campo_valor": {
                                  "type": "string",
                                  "description": "O valor da resposta (datas em `YYYY-MM-DD` ou `DD/MM/YYYY`, data e hora em `YYYY-MM-DD HH:MM` ou `DD/MM/YYYY HH:MM`, hora em `HH:MM`; datas que não existem são recusadas; campos compostos usam JSON serializado)"
                                }
                              }
                            },
                            "description": "As respostas dos campos do formulário inteligente"
                          }
                        }
                      },
                      "description": "Preenchimento dos formulários inteligentes (atividades e eventos): um item por pessoa dessa faixa etária, na ordem das pessoas. Em ingressos de casadinha, também um item por pessoa, com os campos dos formulários de todos os dias do pacote. Veja `GET /passeios/{id}/formulario`"
                    }
                  }
                },
                "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  Combos
HideShow
Headers
Authorization: Bearer <authorization-token>
Content-Type: multipart/form-data
Body
{
  "metodo_pagamento": "PAYMENT_LINK",
  "metodo_pagamento_externo": "dinheiro",
  "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
            }
          ],
          "formularios": [
            {
              "faixa_etaria_id": "3466",
              "campos": [
                {
                  "campo_id": 12,
                  "campo_valor": "João da Silva"
                }
              ]
            }
          ]
        }
      ],
      "faixas_etarias": [
        {
          "id": "3466",
          "quantidade": 1
        }
      ]
    }
  ],
  "cupom": {
    "codigo_cupom": "CARNAVAL10"
  },
  "cliente": {
    "nome": "João Carlos da Silva",
    "email": "[email protected]",
    "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, EXTERNAL"
    },
    "metodo_pagamento_externo": {
      "type": "string",
      "description": "Apenas para método EXTERNAL. Valores possíveis: dinheiro, cartao_credito, cartao_debito, pix, outros"
    },
    "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"
                },
                "formularios": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "faixa_etaria_id": {
                        "type": "string",
                        "description": "A faixa etária do combo: o mesmo id usado em `faixas_etarias[].id` ou a classificação (`faixa_etaria_id` da consulta do formulário). Pode ser omitido quando o combo tem uma só faixa etária"
                      },
                      "campos": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "campo_id": {
                              "type": "number",
                              "description": "O id do campo do formulário inteligente, como em `campos[].id` de `GET /passeios/{id}/formulario`"
                            },
                            "campo_valor": {
                              "type": "string",
                              "description": "O valor da resposta (datas em `YYYY-MM-DD` ou `DD/MM/YYYY`, data e hora em `YYYY-MM-DD HH:MM` ou `DD/MM/YYYY HH:MM`, hora em `HH:MM`; datas que não existem são recusadas; campos compostos usam JSON serializado)"
                            }
                          }
                        },
                        "description": "As respostas dos campos do formulário inteligente"
                      }
                    }
                  },
                  "description": "Preenchimento do formulário inteligente desta atividade do combo: um item por passageiro, na ordem dos passageiros"
                }
              }
            },
            "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  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  201
HideShow
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": "[email protected]",
  "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",
  "formularios_link": "https://minhaloja.paytour.com.br/...",
  "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"
    },
    "formularios_link": {
      "type": "string",
      "description": "O link para o cliente preencher os formulários pendentes, ou null quando nenhum item tem formulário pendente"
    },
    "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"
  ]
}
Response  400
HideShow

Preenchimento de formulário inteligente inválido. O pedido não é criado.

Headers
Content-Type: application/json
Body
{
  "message": "Invalid request",
  "code": 4,
  "errors": [
    "Ticket 1: O campo \"CPF\" é obrigatório."
  ]
}

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.

Estornar pagamento

Se o novo status do Pedido for de cancelado, é possível enviar também o campo cancel_on_gateway, podendo ser 1 ou 0. Se o campo não for enviado, será considerado o comportamento padrão configurado
no gateway pela interface do Paytour. Caso seja enviado, e o gateway usado na reserva esteja
configurado para decidir por reserva, então o valor desse campo servirá para decidir se o pagamento deve ser estornado ou não junto ao Gateway.

Aprovar Pedido
PUT/pedidos/{id}/atualizar-status

Example URI

PUT https://api.paytour.com.br/v2/pedidos/5496/atualizar-status
URI Parameters
HideShow
id
int (required) Example: 5496

O Id do pedido

Request
HideShow
Headers
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer <authorization-token>
Body
{
  "status": "aprovado",
  "cancel_on_gateway": "1"
}
Schema
{
  "type": "object",
  "properties": {
    "status": {
      "enum": [
        "aprovado",
        "pendente",
        "aprovado_pagamento_pendente",
        "reprovado",
        "cancelado",
        "aguardando_pagamento"
      ],
      "description": "O Status Desejado"
    },
    "cancel_on_gateway": {
      "type": "string",
      "description": "1 para estornar a compra no gateway, 0 para não estornar, em branco para usar o comportamento padrão"
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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": "[email protected]",
  "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",
      "produto_tipo": "passeio",
      "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",
          "tipo": "nome_completo",
          "valor_formatado": "Alan Ferreira Pereira"
        }
      ],
      "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"
    }
  ],
  "pagamento_detalhes": {
    "subtotal": 100,
    "taxa_conveniencia": 5,
    "desconto": 0,
    "juros_para_cliente": 10,
    "total": 110,
    "valor_parcela": 10,
    "parcelas_pagamento": 11,
    "sem_juros_ate": 5,
    "tabela_juros": [
      {
        "initial": 2,
        "final": 6,
        "rate": 10
      }
    ],
    "pix_emv": "00020101021226850014br.gov.bcb.pix..."
  }
}
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"
          },
          "produto_tipo": {
            "type": "string",
            "enum": [
              "passeio"
            ],
            "description": "Tipo de produto: evento, combo, passeio ou 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"
                },
                "tipo": {
                  "type": "string",
                  "enum": [
                    "nome_completo"
                  ],
                  "description": "O tipo do campo no catálogo de formulários inteligentes. Presente apenas em itens de formulário inteligente"
                },
                "valor_formatado": {
                  "type": "string",
                  "enum": [
                    "Alan Ferreira Pereira"
                  ],
                  "description": "O valor formatado para exibição (datas em dd/mm/aaaa, CPF com máscara, etc). Presente apenas em itens de formulário inteligente"
                }
              },
              "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",
          "produto_tipo",
          "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"
    },
    "pagamento_detalhes": {
      "type": "object",
      "properties": {
        "subtotal": {
          "type": "number",
          "description": "Valor original, antes das taxas"
        },
        "taxa_conveniencia": {
          "type": "number",
          "description": "Taxa de conveniencia aplicável em venda de eventos"
        },
        "desconto": {
          "type": "number",
          "description": "Desconto aplicado"
        },
        "juros_para_cliente": {
          "type": "number",
          "description": "Quanto o cliente pagou em Juros"
        },
        "total": {
          "type": "number",
          "description": "Total com juros"
        },
        "valor_parcela": {
          "type": "number",
          "description": "O valor da parcela"
        },
        "parcelas_pagamento": {
          "type": "number",
          "description": "O número de parcelas"
        },
        "sem_juros_ate": {
          "type": "number",
          "description": "No momento da reserva quantas parcelas estavam configuradas sem juros"
        },
        "tabela_juros": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "initial": {
                "type": "number",
                "enum": [
                  2
                ],
                "description": "Número mínimo de parcelas onde essa taxa se aplica"
              },
              "final": {
                "type": "number",
                "enum": [
                  6
                ],
                "description": "Número máximo de parcelas onde essa taxa se aplica"
              },
              "rate": {
                "type": "number",
                "enum": [
                  10
                ],
                "description": "Porcentagem de taxa de juros"
              }
            },
            "required": [
              "initial",
              "final",
              "rate"
            ],
            "additionalProperties": false
          },
          "description": "A tabela de juros no momento da venda"
        },
        "pix_emv": {
          "type": "string",
          "description": "O código PIX para pagar, pode ser usando como copia e cola, ou pode ser transformado em qrCode"
        }
      },
      "required": [
        "tabela_juros"
      ]
    }
  },
  "required": [
    "itens",
    "observacoes",
    "logsStatus"
  ]
}

Consultando Parcelas Disponíveis

Este endpoint retorna as opções de parcelamento disponíveis para um gateway de pagamento específico, incluindo informações sobre juros aplicados em cada parcela.
Também pode, e deve, ser usando para obter informações sobre o valor final a ser pago mesmo que o Gateway escolhido não ofereça parcelamento.
Por exemplo, no caso do PIX, apenas uma parcela será retornada, mas se o PIX oferece desconto e a reserva tem itens com desconto por método de pagamento, então será possível obter qual o valor final a ser pago e calcular desconto aplicado.

Como consultar desconto por método de pagamento

Se a reserva será feita com Pix, envie o gateway zoop_pix para esse endpoint, envie obrigatóriamente o campo pedido_id. No retorno, o campo valor contem o valor original da reserva. O campo parcelas.1.valor_total irá conter o valor real a pagar. Faça valor - parcelas.1.valor_total para obter o desconto em reais.

Parcelas do PaytourCard

Com o gateway zoop_credit_card, os valores seguem as taxas do PaytourCard da loja e são exatamente os que serão cobrados no checkout: valor_parcela é o valor de cada parcela e valor_total é o total cobrado do cliente.
Até o limite de parcelas sem juros da loja, tem_juros é false. Como cada parcela é arredondada para cima no centavo, o total pode ficar alguns centavos acima do valor da reserva (ex.: R$ 100,00 em 3x sem juros = 3 × R$ 33,34 = R$ 100,02); esses centavos aparecem em valor_juros e porcentagem_juros.
Acima do limite sem juros, tem_juros é true. Quando a taxa daquela quantidade de parcelas é a mesma do limite sem juros, o cliente não paga juros de fato: a parcela vem com tem_juros: true, mas com valor_juros igual a 0 (ou a alguns centavos de arredondamento). Para mostrar ao cliente quanto ele paga a mais, use valor_juros.
Se a conta Paytour/Zoop da loja não estiver ativa, o endpoint responde 400 (“Gateway não está ativo para esta loja.”). Se o pedido não tiver valor a pagar, também responde 400 (“O pedido não tem valor a pagar.”).

Consultar Parcelas
GET/pedidos/pagamentos/parcelas{?gateway,valor,pedido_id,is_foreign}

Example URI

GET https://api.paytour.com.br/v2/pedidos/pagamentos/parcelas?gateway=rede&valor=800&pedido_id=1234&is_foreign=0
URI Parameters
HideShow
gateway
string (required) Example: rede

O gateway de pagamento. Valores aceitos: “rede”, “cielo”, “zoop_pix” ou “zoop_credit_card” (PaytourCard)

pedido_id
number (required) Example: 1234

O id do pedido para simular parcelamento, método recomendado, mas pode ser omitido se valor for passado

valor
float (optional) Example: 800

O valor total da compra, em reais, para calcular as parcelas. Ao invés desse campo, recomendamos usar apenas o pedido_id

is_foreign
number (optional) Example: 0

Se o cliente é estrangeiro, 1 para sim 0 para não. Se 1, retorna apenas 1 parcela

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "O parâmetro \"gateway\" é obrigatório.",
  "code": 2
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "gateway": "REDE",
  "valor": 800,
  "parcelas": {
    "1": {
      "parcela": 1,
      "valor_parcela": 800,
      "valor_total": 800,
      "label": "1x de R$ 800,00 (Total: R$ 800,00) - Sem juros",
      "tem_juros": false,
      "porcentagem_juros": 0,
      "valor_juros": 0
    },
    "2": {
      "parcela": 2,
      "valor_parcela": 412,
      "valor_total": 824,
      "label": "2x de R$ 412,00 (Total: R$ 824,00) - Com juros de 3,00%",
      "tem_juros": true,
      "porcentagem_juros": 3,
      "valor_juros": 24
    },
    "3": {
      "parcela": 3,
      "valor_parcela": 288.4,
      "valor_total": 865.2,
      "label": "3x de R$ 288,40 (Total: R$ 865,20) - Com juros de 8,15%",
      "tem_juros": true,
      "porcentagem_juros": 8.15,
      "valor_juros": 65.2
    },
    "4": {
      "parcela": 4,
      "valor_parcela": 227.12,
      "valor_total": 908.46,
      "label": "4x de R$ 227,12 (Total: R$ 908,46) - Com juros de 13,56%",
      "tem_juros": true,
      "porcentagem_juros": 13.56,
      "valor_juros": 108.46
    }
  }
}

Consultando Gateways Disponíveis

Este endpoint retorna a lista de Gateways de pagamento disponíveis para a loja na API.
Os gateways listados são: cielo, rede, zoop_pix (Pix) e zoop_credit_card (PaytourCard).
Use o campo active para saber se a loja está com o gateway ativo e max_installments para saber até quantas parcelas ela aceita.

Consultar Gateways
GET/pedidos/pagamentos/gateways

Example URI

GET https://api.paytour.com.br/v2/pedidos/pagamentos/gateways
Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "O parâmetro \"gateway\" é obrigatório.",
  "code": 2
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "key": "rede",
    "name": "Rede",
    "state": "enabled",
    "active": true,
    "max_installments": 12,
    "offers_discount": true
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "key": {
        "type": "string",
        "enum": [
          "rede"
        ],
        "description": "A chave de identificação do Gateway: `cielo`, `rede`, `zoop_pix` (Pix) ou `zoop_credit_card` (PaytourCard)"
      },
      "name": {
        "type": "string",
        "enum": [
          "Rede"
        ],
        "description": "O nome do gateway"
      },
      "state": {
        "type": "string",
        "enum": [
          "enabled",
          "disabled",
          "not_set",
          "misconfigured",
          "unavailable",
          "enabled"
        ],
        "description": "O estado atual do gateway"
      },
      "active": {
        "type": "boolean",
        "enum": [
          true
        ],
        "description": "Se o gateway está ativo para ser usado"
      },
      "max_installments": {
        "type": "number",
        "enum": [
          12
        ],
        "description": "A quantidade máxima de parcelas que o Gateway aceita"
      },
      "offers_discount": {
        "type": "boolean",
        "enum": [
          true
        ],
        "description": "Se, ao utilizar esse gateway, a reserva pode receber desconto"
      }
    },
    "required": [
      "key",
      "name",
      "state",
      "active",
      "max_installments",
      "offers_discount"
    ],
    "additionalProperties": false
  }
}

Processando pagamentos

Uma vez registrado, um pedido pode ter seu pagamento processado via API.
Gateways disponíveis para processamento via API: rede, cielo, zoop_pix (Pix) e zoop_credit_card (PaytourCard).

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.

Dados obrigatórios do comprador no 3DS (Rede)

Por exigência da bandeira Elo (Programa de Proteção 3DS), quando a loja tem o 3DS ativo na Rede é obrigatório enviar os dados do comprador: email, telefone, fatura (endereço de cobrança), ip (IPv4 do comprador), user_agent e dispositivo (dados do navegador do comprador). E-mail, telefone e endereço podem ser omitidos se já estiverem preenchidos no pedido. Se algum dado obrigatório faltar, o pagamento não é processado e a resposta traz success: false com a lista dos campos em message.

PaytourCard (zoop_credit_card)

O pagamento é processado na hora, sem autenticação adicional: redirect_url é opcional e a resposta sempre traz redirect_url: null. Se enviada, a URL precisa ser válida e fica registrada no pedido.
O número de parcelas (parcelamento) precisa estar entre as opções devolvidas pela consulta de parcelas do pedido (GET /pedidos/pagamentos/parcelas?gateway=zoop_credit_card&pedido_id=...). Se o cliente do pedido for estrangeiro, envie também is_foreign=1 na consulta: estrangeiro só pode pagar em 1x. Fora dessas opções a resposta é success: false com Número de parcelas indisponível para este pedido. e nada é cobrado.
O PaytourCard só cobra em reais (lojas em outra moeda não podem usá-lo) e só aceita cliente estrangeiro se a conta Paytour/Zoop da loja tiver venda internacional.
Os dados do comprador enviados à operadora para a análise de risco (e-mail, telefone, cidade, UF e CEP) são os do cliente do pedido; o nome enviado é o nome_titular do cartão.
O CEP enviado segue esta ordem: cliente estrangeiro usa sempre um CEP brasileiro padrão; senão, o CEP de fatura (endereço de cobrança do titular, opcional), quando enviado; senão, o CEP do cliente do pedido. A fatura enviada fica registrada no pedido; se ela não for um objeto com campos de texto (ou número inteiro), a resposta é success: false com Dados de fatura inválidos. e nada é cobrado.
Um mesmo pedido só pode ser processado uma vez: chamadas repetidas ou simultâneas para o mesmo pedido são recusadas sem nova cobrança.
A resposta depende do resultado:

  • success: true, Pagamento aprovado.: pagamento aprovado;

  • success: true, Pagamento em análise.: aprovado no cartão, mas em análise antifraude (order.status = analise);

  • success: true, Pagamento pendente de confirmação.: a operadora ainda não confirmou (order.status = pendente);

  • success: false, Pagamento recusado.: recusado ou falha na comunicação com a operadora (order.status = reprovado);

  • success: false, Erro ao processar pagamento.: erro inesperado no processamento. O pedido fica bloqueado para novas tentativas pela API (pode ter havido cobrança); consulte o pedido e acione o suporte;

  • success: false, Gateway não está ativo para esta loja.: PaytourCard desativado, conta Paytour/Zoop da loja inativa ou loja com moeda diferente de real;

  • success: false, Esta loja não aceita PaytourCard de cliente estrangeiro.: cliente estrangeiro e conta da loja sem venda internacional;

  • success: false, O pedido não tem valor a pagar.: o pedido não tem valor a cobrar;

  • success: false, Dados de fatura inválidos.: fatura enviada em formato inválido (precisa ser um objeto com o endereço, cada campo em texto ou número inteiro);

  • success: false, Pedido não está usando opção para processamento via API.: o pedido já está sendo (ou foi) processado por outra chamada.

Processar Pagamento
POST/pedidos/{id}/checkout

Example URI

POST https://api.paytour.com.br/v2/pedidos/5496/checkout
URI Parameters
HideShow
id
int (required) Example: 5496

O Id do pedido

Request  Cartão de crédito Rede
HideShow
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",
  "email": "[email protected]",
  "telefone": "(84) 98888-7777",
  "fatura": {
    "cep": "59000-000",
    "endereco": "Rua das Flores",
    "numero": "10",
    "complemento": "Apto 101",
    "bairro": "Centro",
    "cidade": "Natal",
    "uf": "RN",
    "pais": "BRA"
  },
  "ip": "200.100.50.25",
  "user_agent": "Mozilla/5.0 ...",
  "dispositivo": {
    "colorDepth": 24,
    "javaEnabled": false,
    "language": "pt-BR",
    "screenHeight": 1080,
    "screenWidth": 1920,
    "timezoneOffset": 3
  }
}
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"
    },
    "email": {
      "type": "string",
      "description": "E-mail do comprador. Obrigatório com 3DS ativo se o pedido não tiver e-mail"
    },
    "telefone": {
      "type": "string",
      "description": "Telefone do comprador com DDD. Obrigatório com 3DS ativo se o pedido não tiver telefone"
    },
    "fatura": {
      "type": "object",
      "properties": {
        "cep": {
          "type": "string",
          "description": "CEP"
        },
        "endereco": {
          "type": "string",
          "description": "Logradouro"
        },
        "numero": {
          "type": "string",
          "description": "Número"
        },
        "complemento": {
          "type": "string",
          "description": "Complemento"
        },
        "bairro": {
          "type": "string",
          "description": "Bairro"
        },
        "cidade": {
          "type": "string",
          "description": "Cidade"
        },
        "uf": {
          "type": "string",
          "description": "UF"
        },
        "pais": {
          "type": "string",
          "description": "País (ISO 3166-1 alfa-3)"
        }
      },
      "description": "Endereço de cobrança do portador. Obrigatório com 3DS ativo se o pedido não tiver endereço"
    },
    "ip": {
      "type": "string",
      "description": "IPv4 do comprador. Obrigatório com 3DS ativo (a Rede não aceita IPv6)"
    },
    "user_agent": {
      "type": "string",
      "description": "User agent do navegador do comprador. Obrigatório com 3DS ativo"
    },
    "dispositivo": {
      "type": "object",
      "properties": {
        "colorDepth": {
          "type": "number",
          "description": "`screen.colorDepth`"
        },
        "javaEnabled": {
          "type": "boolean",
          "description": "`navigator.javaEnabled()`"
        },
        "language": {
          "type": "string",
          "description": "`navigator.language` (BCP47)"
        },
        "screenHeight": {
          "type": "number",
          "description": "`screen.height`"
        },
        "screenWidth": {
          "type": "number",
          "description": "`screen.width`"
        },
        "timezoneOffset": {
          "type": "number",
          "description": "`new Date().getTimezoneOffset() / 60`"
        }
      },
      "description": "Dados do navegador do comprador. Recomendado com 3DS ativo"
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Request  Cartão de crédito Cielo
HideShow
Headers
Content-Type: multipart/form-data
Authorization: Bearer <authorization-token>
Body
{
  "metodo_pagamento": "cielo",
  "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 Cielo 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#"
}
Request  PIX Zoop
HideShow
Headers
Content-Type: multipart/form-data
Authorization: Bearer <authorization-token>
Body
{
  "metodo_pagamento": "zoop_pix"
}
Schema
{
  "type": "object",
  "properties": {
    "metodo_pagamento": {
      "type": "string",
      "description": "Indica para o Paytour que o Pix deve ser usado para processar o pagamento"
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Request  Cartão de crédito PaytourCard
HideShow
Headers
Content-Type: multipart/form-data
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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": "[email protected]",
    "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",
    "pagamento_detalhes": {
      "subtotal": 100,
      "taxa_conveniencia": 5,
      "desconto": 0,
      "juros_para_cliente": 10,
      "total": 110,
      "valor_parcela": 10,
      "parcelas_pagamento": 11,
      "sem_juros_ate": 5,
      "tabela_juros": [
        {
          "initial": 2,
          "final": 6,
          "rate": 10
        }
      ],
      "pix_emv": "00020101021226850014br.gov.bcb.pix..."
    }
  }
}
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"
        },
        "pagamento_detalhes": {
          "type": "object",
          "properties": {
            "subtotal": {
              "type": "number",
              "description": "Valor original, antes das taxas"
            },
            "taxa_conveniencia": {
              "type": "number",
              "description": "Taxa de conveniencia aplicável em venda de eventos"
            },
            "desconto": {
              "type": "number",
              "description": "Desconto aplicado"
            },
            "juros_para_cliente": {
              "type": "number",
              "description": "Quanto o cliente pagou em Juros"
            },
            "total": {
              "type": "number",
              "description": "Total com juros"
            },
            "valor_parcela": {
              "type": "number",
              "description": "O valor da parcela"
            },
            "parcelas_pagamento": {
              "type": "number",
              "description": "O número de parcelas"
            },
            "sem_juros_ate": {
              "type": "number",
              "description": "No momento da reserva quantas parcelas estavam configuradas sem juros"
            },
            "tabela_juros": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "initial": {
                    "type": "number",
                    "enum": [
                      2
                    ],
                    "description": "Número mínimo de parcelas onde essa taxa se aplica"
                  },
                  "final": {
                    "type": "number",
                    "enum": [
                      6
                    ],
                    "description": "Número máximo de parcelas onde essa taxa se aplica"
                  },
                  "rate": {
                    "type": "number",
                    "enum": [
                      10
                    ],
                    "description": "Porcentagem de taxa de juros"
                  }
                },
                "required": [
                  "initial",
                  "final",
                  "rate"
                ],
                "additionalProperties": false
              },
              "description": "A tabela de juros no momento da venda"
            },
            "pix_emv": {
              "type": "string",
              "description": "O código PIX para pagar, pode ser usando como copia e cola, ou pode ser transformado em qrCode"
            }
          },
          "required": [
            "tabela_juros"
          ]
        }
      },
      "description": "Os dados atualizados do pedido que foi processado"
    }
  }
}

Reagendamento

Uma vez que reservas são registradas, ainda é possível reagendar as atividades. Este endpoint tem esse exato objetivo.

Reagendar itens de um pedido

Será necessário que, além do id do pedido, o id do item, o antigo id de disponibilidade e o novo id de disponibilidade sejam fornecidos.
Para o id do item e id da antiga disponibilidade, use o endpoint de detalhar pedido, nele você encontra a lista de itens, onde, para cada um, estarão disponíveis os ids.
Para o novo id de disponibilidade, use os endpoints de listar datas e horas, da mesma forma que usa para realizar a reserva.
No reagendamento de eventos, não devem ser enviados os campos de id de disponibilidade, ao invés deles, envie apenas o campo priceId que represente qual o id do ingresso que substitue o antigo. Abaixo existem exemplos de de como reagendar atividades ou eventos, ambos podem ser reagendados na mesma request.

Reagendar
POST/reagendar/{pedido_id}

Example URI

POST https://api.paytour.com.br/v2/reagendar/4242
URI Parameters
HideShow
pedido_id
number (required) Example: 4242

Id do pedido

Request  Passeios
HideShow
Headers
Authorization: Bearer <authorization-token>
Body
{
  "items": [
    {
      "itemId": 123,
      "oldScheduleId": 123,
      "newScheduleId": 123
    }
  ],
  "sendEmailToClient": false
}
Schema
{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "itemId": {
            "type": "number",
            "description": "O id do item do pedido"
          },
          "oldScheduleId": {
            "type": "number",
            "description": "O id da antiga disponibilidade presente no item do pedido"
          },
          "newScheduleId": {
            "type": "number",
            "description": "O id da nova disponibilidade que deve ser usada no item do pedido"
          }
        }
      },
      "description": "Os itens a serem reagendados"
    },
    "sendEmailToClient": {
      "type": "boolean",
      "description": "Se um email deve ser enviado o cliente, avisando do reagendamento"
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Request  Eventos
HideShow
Headers
Authorization: Bearer <authorization-token>
Content-Type: multipart/form-data
Body
{
  "items": [
    {
      "itemId": 123,
      "priceId": 123
    }
  ],
  "sendEmailToClient": false
}
Schema
{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "itemId": {
            "type": "number",
            "description": "O id do item do pedido"
          },
          "priceId": {
            "type": "number",
            "description": "O id do novo preço/ingresso a ser usado no item do pedido"
          }
        }
      },
      "description": "Os itens a serem reagendados"
    },
    "sendEmailToClient": {
      "type": "boolean",
      "description": "Se um email deve ser enviado o cliente, avisando do reagendamento"
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Request  Passeios + Eventos
HideShow
Headers
Authorization: Bearer <authorization-token>
Content-Type: multipart/form-data
Body
{
  "items": [
    {
      "itemId": 123,
      "oldScheduleId": 123,
      "newScheduleId": 123
    },
    {
      "itemId": 123,
      "priceId": 123
    }
  ],
  "sendEmailToClient": false
}
Schema
{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "itemId": {
                "type": "number",
                "description": "O id do item do pedido"
              },
              "oldScheduleId": {
                "type": "number",
                "description": "O id da antiga disponibilidade presente no item do pedido"
              },
              "newScheduleId": {
                "type": "number",
                "description": "O id da nova disponibilidade que deve ser usada no item do pedido"
              }
            }
          },
          {
            "type": "object",
            "properties": {
              "itemId": {
                "type": "number",
                "description": "O id do item do pedido"
              },
              "priceId": {
                "type": "number",
                "description": "O id do novo preço/ingresso a ser usado no item do pedido"
              }
            }
          }
        ]
      },
      "description": "Os itens a serem reagendados"
    },
    "sendEmailToClient": {
      "type": "boolean",
      "description": "Se um email deve ser enviado o cliente, avisando do reagendamento"
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "success": true,
}

Ícones do Paytour

Listando Ícones

Use esse endpoint para listar os ícones disponíveis em nossa biblioteca

Listar Ícones
GET/paytour_icons

Example URI

GET https://api.paytour.com.br/v2/paytour_icons
Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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 Fotos
GET/passeios/{id}/fotos

Example URI

GET https://api.paytour.com.br/v2/passeios/42/fotos
URI Parameters
HideShow
id
int (required) Example: 42

O Id do passeio

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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 Foto
POST/passeios/{id}/fotos

Example URI

POST https://api.paytour.com.br/v2/passeios/42/fotos
URI Parameters
HideShow
id
int (required) Example: 42

O Id do passeio

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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 Foto
PUT/passeios/{passeio_id}/fotos/{id}

Example URI

PUT https://api.paytour.com.br/v2/passeios/42/fotos/42
URI Parameters
HideShow
passeio_id
int (required) Example: 42

O Id do passeio

id
int (required) Example: 42

O Id da foto

Request
HideShow
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  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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 Foto
DELETE/passeios/{passeio_id}/fotos/{id}

Example URI

DELETE https://api.paytour.com.br/v2/passeios/42/fotos/42
URI Parameters
HideShow
passeio_id
int (required) Example: 42

O Id do passeio

id
int (required) Example: 42

O Id da foto

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
Headers
Content-Type: application/json

Reordenar

O payload deve ser um array contendo os ids das fotos e as posições serão usadas como ordenamento

Ordenar Fotos
PUT/passeios/{passeio_id}/fotos/ordenar

Example URI

PUT https://api.paytour.com.br/v2/passeios/42/fotos/ordenar
URI Parameters
HideShow
passeio_id
int (required) Example: 42

O Id do passeio

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Body
[
  1
]
Schema
{
  "type": "array",
  "items": {
    "type": "number"
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
Headers
Content-Type: application/json

Hospedagens

Listando Hospedagens

Para listar as hospedagens da loja, realize uma requisição GET para este endpoint, entretanto o resultado estará paginado.

Listar Hospedagens
GET/hospedagens{?page,perPage}

Example URI

GET https://api.paytour.com.br/v2/hospedagens?page=1&perPage=20
URI Parameters
HideShow
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

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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": "[email protected]",
      "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": [
              "[email protected]"
            ],
            "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 Hospedagem
GET/hospedagens/{id}

Example URI

GET https://api.paytour.com.br/v2/hospedagens/42
URI Parameters
HideShow
id
int (required) Example: 42

O id da hospedagem

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "loja_id": 1,
  "nome": "Pousada etc",
  "telefone": "84 98888 8888",
  "email": "[email protected]",
  "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 Afiliados
GET/afiliados{?page,perPage}

Example URI

GET https://api.paytour.com.br/v2/afiliados?page=1&perPage=20
URI Parameters
HideShow
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

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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": "[email protected]",
      "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": [
              "[email protected]"
            ],
            "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 Afiliado
GET/afiliados/{id}

Example URI

GET https://api.paytour.com.br/v2/afiliados/42
URI Parameters
HideShow
id
int (required) Example: 42

O id do Afiliado

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "nome": "João da silva",
  "telefone": "84 98888 8888",
  "email": "[email protected]",
  "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 Webhooks
GET/webhooks

Example URI

GET https://api.paytour.com.br/v2/webhooks
Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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 Webhook
POST/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
Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Content-Type: multipart/form-data
Body
{
  "url": "https://example.com",
  "token": "1a2b3c4d5e6f7g898"
}
Schema
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "A url do Webhook"
    },
    "token": {
      "type": "string",
      "description": "Um token que será enviado em todas as requests para essa url"
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "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": {
    "id": {
      "type": "number",
      "description": "O id do Webhook"
    },
    "loja_id": {
      "type": "number",
      "description": "O id da loja"
    },
    "url": {
      "type": "string",
      "description": "A url do Webhook"
    },
    "data_hora_criacao": {
      "type": "string",
      "description": "A data e hora de criação do Webhook"
    },
    "data_hora_atualizacao": {
      "type": "string",
      "description": "A data e hora da última atualização do Webhook"
    }
  }
}

Apagando um Webhook

Apagar Webhook
DELETE/webhooks/{id}

Example URI

DELETE https://api.paytour.com.br/v2/webhooks/42
URI Parameters
HideShow
id
int (required) Example: 42

O id do webhook

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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

Criar
POST/classificacao

Example URI

POST https://api.paytour.com.br/v2/classificacao
Request
HideShow
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  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  201
HideShow
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

Listar
GET/classificacao{?page,perPage,dependente,nome}

Example URI

GET https://api.paytour.com.br/v2/classificacao?page=1&perPage=20&dependente=1&nome=Adulto
URI Parameters
HideShow
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

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "itens": [
    {
      "nome": "...",
      "descricao": "...",
      "dependente": 1
    }
  ],
  "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": "Como o cliente visualizará no momento da compra"
          },
          "descricao": {
            "type": "string",
            "enum": [
              "..."
            ],
            "description": "Descrição da classificação para orientar o cliente na compra"
          },
          "dependente": {
            "type": "number",
            "enum": [
              1
            ],
            "description": "Se essa faixa etária só pode ser vendida junto com outra que não seja dependente"
          }
        },
        "required": [
          "nome",
          "descricao",
          "dependente"
        ],
        "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

Obter
GET/classificacao/{id}

Example URI

GET https://api.paytour.com.br/v2/classificacao/42
URI Parameters
HideShow
id
int (required) Example: 42

O id

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "nome": "...",
  "descricao": "...",
  "dependente": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/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"
    }
  }
}

Atualizar
PUT/classificacao/{id}

Example URI

PUT https://api.paytour.com.br/v2/classificacao/42
URI Parameters
HideShow
id
int (required) Example: 42

O id

Request
HideShow
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  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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"
    }
  }
}

Apagar
DELETE/classificacao/{id}

Example URI

DELETE https://api.paytour.com.br/v2/classificacao/42
URI Parameters
HideShow
id
int (required) Example: 42

O id

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
Headers
Content-Type: application/json

Formulários

Listando

Listar
GET/formularios{?page,perPage}

Example URI

GET https://api.paytour.com.br/v2/formularios?page=1&perPage=20
URI Parameters
HideShow
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

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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

Obter
GET/formularios/{id}

Example URI

GET https://api.paytour.com.br/v2/formularios/42
URI Parameters
HideShow
id
int (required) Example: 42

O id

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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

Criar
POST/opcionais

Example URI

POST https://api.paytour.com.br/v2/opcionais
Request
HideShow
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  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  201
HideShow
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

Listar
GET/opcionais{?page,perPage,showDeleteds}

Example URI

GET https://api.paytour.com.br/v2/opcionais?page=1&perPage=20&showDeleteds=1
URI Parameters
HideShow
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

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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

Obter
GET/opcionais/{id}

Example URI

GET https://api.paytour.com.br/v2/opcionais/42
URI Parameters
HideShow
id
int (required) Example: 42

O id

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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"
  ]
}

Atualizar
PUT/opcionais/{id}

Example URI

PUT https://api.paytour.com.br/v2/opcionais/42
URI Parameters
HideShow
id
int (required) Example: 42

O id

Request
HideShow
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  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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"
    }
  }
}

Apagar
DELETE/opcionais/{id}

Example URI

DELETE https://api.paytour.com.br/v2/opcionais/42
URI Parameters
HideShow
id
int (required) Example: 42

O id

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
Headers
Content-Type: application/json

Passeios

Criando

Criar
POST/passeios

Example URI

POST https://api.paytour.com.br/v2/passeios
Request
HideShow
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  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  201
HideShow
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

Listar
GET/passeios{?page,perPage,minimalResponse,nome}

Example URI

GET https://api.paytour.com.br/v2/passeios?page=1&perPage=20&minimalResponse=1&nome=Praia
URI Parameters
HideShow
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

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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

Obter
GET/passeios/{id}

Example URI

GET https://api.paytour.com.br/v2/passeios/42
URI Parameters
HideShow
id
int (required) Example: 42

O id

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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"
  ]
}

Atualizar
PUT/passeios/{id}

Example URI

PUT https://api.paytour.com.br/v2/passeios/42
URI Parameters
HideShow
id
int (required) Example: 42

O id

Request
HideShow
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  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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"
    }
  }
}

Apagar
DELETE/passeios/{id}

Example URI

DELETE https://api.paytour.com.br/v2/passeios/42
URI Parameters
HideShow
id
int (required) Example: 42

O id

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
Headers
Content-Type: application/json

Períodos Sazonais

Criando

Criar
POST/periodos

Example URI

POST https://api.paytour.com.br/v2/periodos
Request
HideShow
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  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  201
HideShow
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

Listar
GET/periodos{?page,perPage}

Example URI

GET https://api.paytour.com.br/v2/periodos?page=1&perPage=20
URI Parameters
HideShow
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

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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

Obter
GET/periodos/{id}

Example URI

GET https://api.paytour.com.br/v2/periodos/42
URI Parameters
HideShow
id
int (required) Example: 42

O id

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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"
    }
  }
}

Atualizar
PUT/periodos/{id}

Example URI

PUT https://api.paytour.com.br/v2/periodos/42
URI Parameters
HideShow
id
int (required) Example: 42

O id

Request
HideShow
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  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
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"
    }
  }
}

Apagar
DELETE/periodos/{id}

Example URI

DELETE https://api.paytour.com.br/v2/periodos/42
URI Parameters
HideShow
id
int (required) Example: 42

O id

Request
HideShow
Headers
Authorization: Bearer <authorization-token>
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Unauthorized.",
  "code": 1
}
Response  200
HideShow
Headers
Content-Type: application/json

Generated by aglio on 19 Oct 2026