Apidog Docs
🇵🇹 Português (Portugal)
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇵🇹 Português (Portugal)
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇵🇹 Português (Portugal)
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
  1. Uso de scripts
  • Centro de Aprendizagem da Apidog
  • Primeiros passos
    • Introdução ao Apidog
    • Conceitos Básicos no Apidog
    • Navegar no Apidog
    • Início rápido
      • Visão geral
      • Criar um Endpoint
      • Fazer um Pedido
      • Adicionar uma asserção
      • Criar Cenários de Teste
      • Partilhar Documentação da API
      • Explore Mais
    • Migração para o Apidog
      • Visão geral
      • Importação Manual
      • Importação Agendada (Vincular Fontes de Dados)
      • Opções de Importação
      • Exportar Dados
      • Importar de
        • Importar do Postman
        • Importar especificação OpenAPI
        • Importar cURL
        • Importar Markdowns
        • Importar a partir do Insomnia
        • Importar a partir de apiDoc
        • Importar Ficheiro .har
        • Importar WSDL
  • Apidog Europe
    • Apidog Europe
  • Dados de API mock
    • Visão geral
    • Smart Mock
    • Mock personalizado
    • Sequência de Prioridade do Mock
    • Scripts de Mock
    • Mock na Cloud
    • Mock do Runner Autoalojado
    • Idioma de Mock (Localidades)
  • Conta e preferências
    • Definições da Conta
    • Gerar um Token de Acesso OpenAPI
    • Notificações
    • Definições de Idioma
    • Teclas de Atalho
    • Configuração de Proxy de Rede
    • Cópia de Segurança dos Dados
    • Atualizar o Apidog
    • Eliminar Conta
    • Funcionalidades Experimentais
  • Enviar requisições
    • Visão geral
    • Depuração de SSE
    • Cliente MCP
    • Socket.IO
    • WebSocket
    • Webhook
    • SOAP ou WebService
    • GraphQL
    • gRPC
    • Utilizar Agentes de Proxy de Pedido para Depuração
    • Criar requisições
      • Histórico de Pedidos
      • Noções Básicas de Pedidos
      • Parâmetros e Corpo
      • Cabeçalhos do Pedido
      • Definições do Pedido
      • Depurar Pedidos
      • Guardar Pedidos como Endpoints
      • HTTP/2
    • Autenticação e autorização
      • Visão geral
      • Certificados CA e de Cliente
      • Tipos de autorização
      • Autenticação Digest
      • OAuth 1.0
      • OAuth 2.0
      • Autenticação Hawk
      • Kerberos
      • NTLM
      • Akamai EdgeGrid
    • Resposta e cookies
      • Visualizar Respostas de API
      • Gerir Cookies
      • Visão geral
  • Desenvolver e depurar APIs
    • Visão geral
    • Gerar Pedidos
    • Enviar Pedidos
    • Casos de Depuração
    • Casos de Teste
    • Valores Dinâmicos
    • Validação de Respostas
    • Design-First vs Request-First
    • Geração de Código
    • Ambientes e variáveis
      • Visão geral
      • Utilizar Variáveis
      • Gestão de Ambientes
    • Segredos do cofre
      • Visão geral
      • HashiCorp Vault
      • Azure Key Vault
      • AWS Secrets Manager
    • Módulos de valores dinâmicos
      • Airline
      • Animal
      • Cor
      • Comércio
      • Empresa
      • Base de Dados
      • Tipo de dados
      • Data
      • Finanças
      • Alimentação
      • Git
      • Hacker
      • Helpers
      • Imagem
      • Internet
      • Localização
      • Lorem
      • Música
      • Número
      • Pessoa
      • Telefone
      • Ciência
      • String
      • Sistema
      • Veículo
      • Word
    • Pré e pós-processadores
      • Visão geral
      • Asserção
      • Extrair variável
      • Espera
      • Segurança
      • Operações de banco de dados
        • Visão geral
        • MySQL
        • MongoDB
        • Redis
        • Cliente Oracle
      • Uso de scripts
        • Visão geral
        • Scripts de Pré-processamento
        • Scripts de pós-processamento
        • Scripts Públicos
        • Referência de Scripts do Postman
        • Chamar Outras Linguagens de Programação
        • Utilizar Bibliotecas JS
        • Visualizar Respostas
        • Exemplos de scripts
          • Scripts de Asserção
          • Utilização de Variáveis
          • Modificar Pedidos
          • Outros exemplos
    • Depuração de APIs
      • Depurador de Agentes de IA
      • Depurador A2A
  • Projetar APIs
    • Visão geral
    • Criar um Novo Projeto de API
    • Noções Básicas de Endpoints
    • Diretrizes de Design de API
    • Módulo
    • Configurar vários exemplos de corpo do pedido
    • Componentes
    • Campos Comuns
    • Parâmetros Globais
    • Histórico de Alterações do Endpoint
    • Comentários
    • Gestão de Endpoints em Lote
    • API de Protocolo Personalizado
    • Modo Spec-first (Beta)
    • Esquemas de segurança
      • Visão geral
      • Criar um Esquema de Segurança
      • Utilizar o Esquema de Segurança
      • Esquema de Segurança na Documentação Online
    • Recursos avançados
      • Campos de Endpoint Personalizados
      • Cenários de Teste Associados
      • Estado do endpoint
      • Aparência das listas de parâmetros
      • Identificação Única de Endpoint
    • Schemas
      • Visão geral
      • Criar um Novo Schema
      • Criar um Schema
      • Gerar esquemas a partir de JSON, etc.
      • oneOf, allOf, anyOf
      • Utilizar Discriminator
  • Testes de API
    • Visão geral
    • Cenários de teste
      • Criar um Cenário de Teste
      • Passar Dados Entre Pedidos
      • Condições de Controlo de Fluxo
      • Sincronizar Dados de Endpoints e Casos de Endpoint
      • Importar Endpoints e Casos de Endpoint de Outros Projetos
      • Exportar Cenários de Teste
    • Relatórios de teste
      • Relatórios de Teste
    • Executar cenários de teste
      • Executar um cenário de teste
      • Executar cenários de teste em lote
      • Testes Orientados por Dados
      • Dados de Teste Partilhados
      • Tarefas agendadas
      • Gerir o ambiente de runtime de APIs de outros projetos
    • Suíte de testes
      • Visão geral
      • Criar Uma Suite de Testes
      • Orquestrar Conjunto de Testes
      • Executar Conjuntos de Testes Localmente
      • Executar conjuntos de testes via CLI
      • Tarefas agendadas
    • Testar APIs
      • Testes de Integração
      • Testes de desempenho
      • Testes de Ponta a Ponta
      • Teste de regressão
      • Testes de Contrato
    • Apidog CLI
      • Visão geral
      • Instalar e Executar o Apidog CLI
      • Opções da CLI do Apidog
    • CI/CD
      • Visão geral
      • Integrar com o Github Actions
      • Integrar com o Gitlab
      • Integrar com Jenkins
      • Acionar Teste por Commit Git
  • Publicar documentação de API
    • Visão geral
    • Tecnologias de API Suportadas
    • Partilha Rápida
    • Visualizar a Documentação da API
    • Documentação Markdown
    • Publicar Sites de Documentação
    • Página de Início de Sessão Personalizada
    • Layouts personalizados
    • CSS, JavaScript, HTML personalizados
    • Domínio Personalizado
    • Funcionalidades de IA
    • Definições de SEO
    • Configurações avançadas
      • Pesquisa na Documentação
      • Proxy CORS
      • Integrar o Google Analytics
      • Definições da Árvore de Pastas
      • Definições de Visibilidade
      • Incorporar Valores em URLs de Documentação
    • Versões da API
      • Visão geral
      • Criar Versões de API
      • Publicar versões de API
      • Partilhar Endpoints com Versões da API
  • Branches
    • Visão geral
    • Criar uma Branch de Sprint
    • Testar APIs numa Branch
    • Conceber APIs numa Ramificação
    • Mesclar Branches de Sprint
    • Gerir Branches de Sprint
    • AI Branch (Beta)
  • Recursos de IA
    • Visão geral
    • Ativar Funcionalidades de IA
    • Gerar Casos de Teste
    • Modificar esquemas com IA
    • Verificação de Conformidade do Endpoint
    • Verificação da Completude da Documentação da API
    • Nomeação de Campos com IA
    • Perguntas frequentes
  • Servidor MCP do Apidog
    • Visão geral
    • Ligar o Projeto Apidog à IA
    • Ligar Documentação Publicada à IA
    • Ligar Ficheiros OpenAPI à IA
  • Boas práticas
    • Tratamento de Assinaturas de API
    • Aceder a APIs Protegidas por OAuth 2.0
    • Fluxo de trabalho de colaboração
    • Gestão do Estado de Autenticação
  • Espaço offline
    • Visão geral
  • Administração
    • Gerenciamento de projetos
      • Gerir Projetos
      • Definições de Notificação
      • Gerir Membros do Projeto
      • Recursos do projeto
        • Ligação à Base de Dados
        • Ligação Git
    • Gerenciamento de equipes
      • Gerir Equipas
      • Gerir Membros da Equipa
      • Atividades da Equipa
      • Funções e permissões da equipa
      • Recursos da equipe
        • General Runner
        • Variáveis de Equipa
        • Agente Proxy de Pedidos
      • Colaborações em tempo real
        • Colaboração em Equipa
    • Checklist de integração
      • Conceitos Básicos
      • Guia de Integração Inicial
    • Gerenciamento da organização
      • Gerir a Organização
      • Funções e Permissões da Organização
      • Gerenciamento de planos
        • Gestores de Faturação em Organizações
      • Single Sign-On (SSO)
        • Visão Geral do SSO
        • Configurar o Microsoft Entra ID
        • Configurar o Okta
        • Configurar SSO para uma organização
        • Gerir Contas de Utilizador
        • Mapear Grupos para Equipas
      • Provisionamento SCIM
        • Introdução ao Provisionamento SCIM
        • Microsoft Entra ID
        • Okta
      • Recursos da organização
        • Self-Hosted Runner
  • Cobrança
    • Visão geral
    • Créditos
    • Atualizar o seu plano
    • Métodos de Pagamento Alternativos
    • Gestão de Subscrições
    • Mover Equipas Pagas para Organizações
  • Complementos
    • API Hub
    • Plugin Apidog Intellij IDEA
    • Extensão do navegador
      • Chrome
      • Microsoft Edge
    • Proxy de requisições
      • Proxy de pedidos na Web
      • Proxy de Pedidos em Documentação Partilhada
      • Proxy de Pedido no Cliente
  • Dados e segurança
    • Armazenamento e Segurança de Dados
    • Privacidade e Segurança dos Dados do Utilizador
    • Encaminhamento de Pedidos e Segurança dos Dados
  • Referências
    • Abordagem API Design-First
    • Extensões da Especificação OpenAPI do Apidog
    • JSONPath
    • XPath
    • Expressões Regulares
    • JSON Schema
    • Formato de ficheiro CSV
    • Instalar o Ambiente Java
    • Ambiente de Implementação do Runner
    • Sintaxe Markdown do Apidog
    • Extensões Swagger do Apidog
      • Visão geral
      • x-apidog-folder
      • x-apidog-status
      • x-apidog-name
      • x-apidog-maintainer
    • Extensões JSON Schema do Apidog
      • Visão geral
      • x-apidog-mock
      • x-apidog-orders
      • x-apidog-enum
  • Central de suporte
  1. Uso de scripts

Referência de Scripts do Postman

O motor de scripting do Apidog utiliza o objeto pm para aceder a dados sobre o pedido, a resposta e as variáveis. Este método é compatível com o Postman.

Objeto pm#

O objeto pm tem as seguintes propriedades principais.
PropriedadeTipo de DadosDescrição
pm.info.eventNameStringO tipo de scripts que está atualmente em execução (script de pré-processador ou script de pós-processador).
pm.info.iterationNumberO número da iteração atual (válido apenas em coleções de testes).
pm.info.iterationCountNumberO número total de iterações (válido apenas em coleções de testes).
pm.info.requestNameStringO nome da API atual em execução.
pm.info.requestIdStringO ID da API atual em execução.

Enviar Pedidos (pm.sendRequest)#

pm.sendRequest:Function
pm.sendRequest é utilizado para enviar pedidos HTTP/HTTPS assíncronos em scripts.
Este método aceita um parâmetro de pedido compatível com o SDK de coleções e um parâmetro de função de callback. O callback tem 2 argumentos. O primeiro é um erro e o segundo é uma resposta compatível com o SDK de coleções. Consulte mais informações na documentação do Collection SDK.
Pode utilizá-lo tanto em scripts de pré-processador como de pós-processador.
Para mais referências, visite:
Estrutura Request JSON
Estrutura Response

pm.variables#

pm.variables:consulte a documentação do Variable SDK aqui.
Variáveis locais. A prioridade das diferentes variáveis é a seguinte:
Variáveis Locais > Variáveis de Ambiente > Variáveis Globais Partilhadas no Projeto > Variáveis Globais Partilhadas na Equipa.
pm.variables.has(variableName:String):function → Boolean: Verificar se existe uma variável temporária.
pm.variables.get(variableName:String):function → *: obter uma variável temporária.
pm.variables.set(variableName:String, variableValue:String):function → void: definir uma variável temporária.
pm.variables.replaceIn(variableName:String):function: Substitui “variáveis dinâmicas” numa string (por exemplo, {{variable_name}}) por valores reais. Exemplo:
// Define a string containing a dynamic variable
let stringWithVariable = "Hello, {{username}}";

// Use the replaceIn method to replace the {{username}} placeholder
let realValueString = pm.variables.replaceIn(stringWithVariable);

// Output the replaced value
console.log(realValueString); // Output: "Hello, john_doe"
pm.variables.replaceInAsync(variableName:String):function: Substitui “expressões de valor dinâmico” numa string (por exemplo, {{$person.fullName}}) por valores reais. Este método devolve uma Promise, pelo que tem de utilizar await ao chamá-lo. Exemplo:
// Define a string containing a dynamic value expression
let stringWithVariable = "Hello, {{$person.fullName}}";

// Use the replaceInAsync method to replace the {{$person.fullName}}
let realValueString = await pm.variables.replaceInAsync(stringWithVariable);
pm.variables.toObject():function → Object: obter todas as variáveis locais como objetos.

pm.iterationData#

pm.iterationData:
Variáveis de Dados de Teste
Atualmente, não suportamos a definição de variáveis de dados de teste diretamente em scripts, uma vez que os dados de teste são geridos separadamente. No entanto, pode aceder às variáveis em scripts conforme mostrado abaixo:
pm.iterationData.has(variableName:String):function → Boolean: Verificar se existe uma variável de teste.
pm.iterationData.get(variableName:String):function → *: obter uma variável de teste.
pm.iterationData.replaceIn(variableName:String):function: substituir variáveis dinâmicas numa string pelos respetivos valores reais, por exemplo, {{variable_name}}.
pm.iterationData.toObject():function → Object: obter todas as variáveis locais como objetos.

pm.environment#

pm.environment.name:String: o nome do ambiente.
pm.environment.has(variableName:String):function → Boolean:Verificar se existe uma variável de ambiente.
pm.environment.get(variableName:String):function → *: obter uma variável de ambiente.
pm.environment.set(variableName:String, variableValue:String):function:definir uma variável de ambiente.
pm.environment.replaceIn(variableName:String):function: substituir variáveis dinâmicas numa string pelos respetivos valores reais, por exemplo, {{variable_name}}.
pm.environment.toObject():function → Object: obter todas as variáveis locais como objetos.
pm.environment.unset(variableName:String):function: remover uma variável de ambiente.
pm.environment.clear():function: limpar todas as variáveis de ambiente no ambiente atual.
DICA: as operações mencionadas acima leem e escrevem apenas valores atuais; não leem nem escrevem valores remotos.

pm.moduleVariables#

pm.moduleVariables: Object
Utilizado para gerir o Valor Atual das variáveis ao nível do módulo.
pm.moduleVariables.has(variableName: String): function → Boolean
Verifica se existe uma variável de módulo específica.
pm.moduleVariables.get(variableName: String): function → *
Recupera o valor de uma variável de módulo específica.
pm.moduleVariables.set(variableName: String, variableValue: String): function
Define o valor de uma variável de módulo específica.
pm.moduleVariables.replaceIn(variableName: String): function
Substitui placeholders {{variable}} numa string pelos respetivos valores reais.
pm.moduleVariables.toObject(): function → Object
Devolve todas as variáveis de módulo como um objeto chave-valor.
pm.moduleVariables.unset(variableName: String): function
Elimina uma variável de módulo específica.
pm.moduleVariables.clear(): function
Limpa todas as variáveis de módulo no módulo atual.
Exemplo:
Nota de Compatibilidade:
pm.collectionVariables funciona da mesma forma que pm.moduleVariables e pode ser utilizado de forma intercambiável.

pm.globals#

pm.globals.has(variableName:String):function → Boolean: Verificar se existe uma variável global.
pm.globals.get(variableName:String,variableScope:String):function → *: obter uma variável global. Utilize 'PROJECT' (predefinição) ou 'TEAM' para especificar o âmbito da variável.
pm.globals.set(variableName:String,variableValue:String, variableScope:String):function: definir uma variável global. Utilize 'PROJECT' (predefinição) ou 'TEAM' para especificar o âmbito da variável.
pm.globals.replaceIn(variableName:String):function: substituir variáveis dinâmicas numa string pelos respetivos valores reais, por exemplo, {{variable_name}}.
Para obter o valor de um parâmetro de pedido que contém uma variável em scripts de pré-processador, utilize pm.globals.replaceIn para substituir a variável pelo valor real.
pm.globals.toObject():function → Object: obter todas as variáveis globais como objetos.
pm.globals.unset(variableName:String,variableScope:String):function: remover uma variável global. Utilize 'PROJECT' (predefinição) ou 'TEAM' para especificar o âmbito da variável.
pm.globals.clear():function: limpar todas as variáveis globais no ambiente atual.
TIP
1.
Todas as operações acima afetam apenas os valores atuais, não os valores iniciais.
2.
Ao utilizar set com o âmbito 'TEAM', apenas será atualizado o valor atual de uma variável de equipa existente. Se a variável de equipa não existir, não será criada. Em vez disso, a variável será tratada como uma variável local.

pm.request#

pm.request: consulte a documentação do Request SDK aqui.
request é o objeto de pedido da API. No script de pré-processador, é o pedido que será enviado. No script de pós-processador, é o pedido que já foi enviado.
request inclui as seguintes informações:
pm.request.url:Url: o URL do pedido atual.
pm.request.getBaseUrl(): Recupera o BASE URL selecionado pelo ambiente de execução atual. Esta funcionalidade é suportada após a versão 2.1.39.
pm.request.headers:HeaderList: a lista de cabeçalhos do pedido atual.
pm.request.method:String: o método do pedido atual, como GET, POST, etc.
pm.request.body: RequestBody: o corpo do pedido atual.
pm.request.headers.add({ key: headerName:String, value: headerValue:String}):function: Adicionar um cabeçalho com uma chave, headerName, no pedido atual.
pm.request.headers.remove(headerName:String):function: Eliminar um cabeçalho com uma chave, headerName, no pedido atual.
pm.request.headers.upsert({ key: headerName:String, value: headerValue:String}):function: Fazer upsert de um cabeçalho com uma chave, headerName, no pedido atual. Se a chave já existir, será modificada.
A API seguinte só pode ser utilizada em scripts de pós-processador.

pm.response#

pm.response: consulte a documentação do Response SDK aqui.
Utilize pm.response para aceder às informações da resposta devolvida em scripts de pós-processador.
pm.response inclui as seguintes informações:
pm.response.code:Number
pm.response.status:String
pm.response.headers:HeaderList
pm.response.responseTime:Number
pm.response.responseSize:Number
pm.response.text():Function → String
pm.response.json():Function → Object

pm.cookies#

pm.cookies: consulte a documentação do CookieList SDK aqui.
Cookies é a lista de cookies sob o nome de domínio do pedido atual.
pm.cookies.has(cookieName:String):Function → Boolean
Verificar se existe o valor do cookie de um cookieName.
pm.cookies.get(cookieName:String):Function → String
Obter o valor do cookie a partir de cookieName.
pm.cookies.toObject:Function → Object
Obter todos os cookies no domínio atual como um objeto.
pm.cookies.jar().clear(pm.request.url)
Limpar todos os cookies.
DICA
pm.cookies é o cookie devolvido após o pedido da API, não o cookie enviado pelo pedido da API.

pm.test#

Esta função é utilizada para verificar, através de asserção, se um resultado corresponde às expectativas.
O exemplo abaixo pode ser utilizado para determinar se uma resposta está correta.
Pode executar um teste assíncrono utilizando done (um parâmetro opcional) numa função de callback.
pm.test.index():Function → Number
Obter o número total de testes a partir de uma localização específica.

pm.expect#

pm.expect é um método de asserção. Consulte aqui a documentação da biblioteca BDD ChaiJS expect.
Este método foi concebido para efetuar asserções sobre dados na resposta ou em variáveis. Para mais exemplos de pm.expect, visite exemplos da biblioteca de asserções.

pm.response.to.have.*#

pm.response.to.have.status(code:Number)
pm.response.to.have.status(reason:String)
pm.response.to.have.header(key:String)
pm.response.to.have.header(key:String, optionalValue:String)
pm.response.to.have.body()
pm.response.to.have.body(optionalValue:String)
pm.response.to.have.body(optionalValue:RegExp)
pm.response.to.have.jsonBody()
pm.response.to.have.jsonBody(optionalExpectEqual:Object)
pm.response.to.have.jsonBody(optionalExpectPath:String)
pm.response.to.have.jsonBody(optionalExpectPath:String, optionalValue:*)
pm.response.to.have.jsonSchema(schema:Object)
pm.response.to.have.jsonSchema(schema:Object, ajvOptions:Object)

pm.response.to.be.*#

Pode utilizar o pm.response.to.be incorporado para asserções rápidas.
pm.response.to.be.info
Verificar se o código de estado é 1XX.
pm.response.to.be.success
Verificar se o código de estado é 2XX.
pm.response.to.be.redirection
Verificar se o código de estado é 3XX.
pm.response.to.be.clientError
Verificar se o código de estado é 4XX.
pm.response.to.be.serverError
Verificar se o código de estado é 5XX.
pm.response.to.be.error
Verificar se o código de estado é 4XX ou 5XX.
pm.response.to.be.ok
Verificar se o código de estado é 200.
pm.response.to.be.accepted
Verificar se o código de estado é 202.
pm.response.to.be.badRequest
Verificar se o código de estado é 400.
pm.response.to.be.unauthorized
Verificar se o código de estado é 401.
pm.response.to.be.forbidden
Verificar se o código de estado é 403.
pm.response.to.be.notFound
Verificar se o código de estado é 404.
pm.response.to.be.rateLimited
Verificar se o código de estado é 429.
Modified at 2026-06-09 08:54:45
Previous
Scripts Públicos
Next
Chamar Outras Linguagens de Programação
Built with