Todos os produtos
Search
Central de documentação

Mobile Platform as a Service:Chamar a API RPC

Última atualização: Jun 28, 2026

Nota: Como os dados JSON transferidos via JS não contêm informações de tipo, podem ocorrer erros de tipagem durante a conversão para dicionário na camada Native. Recomendamos transmitir valores numéricos precisos como strings. Por exemplo, {"value":9.45} será convertido para {"value":9.449999999999999} na camada Native antes do envio ao servidor. Para evitar esse erro, utilize {"value":"9.45"}.

Instruções de uso da API RPC

AlipayJSBridge.call('rpc', {
  operationType: 'alipay.client.xxxx',
  requestData: [],
  headers: {}
}, function(result) {
  console.log(result);
});

Exemplo de código

<h1>Click the button to initiate an RPC request.</h1>

<a href="javascript:void(0)" class="btn rpc">Initiate a request.</a><br/>
<a href="javascript:void(0)" class="btn rpcHeader">Initiate a request with a response header returned.</a>

<script>
function ready(callback) {
  // Call JS Bridge if it has been injected.
  if (window.AlipayJSBridge) {
    callback && callback();
  } else {
    // Listen to the injection event if it has not been injected.
    document.addEventListener('AlipayJSBridgeReady', callback, false);
  }
}
ready(function() {
  document.querySelector('.rpc').addEventListener('click', function() {
    AlipayJSBridge.call('rpc', {
      operationType: 'alipay.client.xxxx',
      requestData: [],
      headers: {}
    }, function(result) {
      alert(JSON.stringify(result));
    });
  });

  document.querySelector('.rpcHeader').addEventListener('click', function() {
    AlipayJSBridge.call('rpc', {
      operationType: 'alipay.client.xxxx',
      requestData: [],
      headers: {},
      getResponse: true
    }, function(result) {
      alert(JSON.stringify(result));
    });
  });
});
</script>

API

AlipayJSBridge.call('rpc', {
  operationType:,
  requestData:,
  headers
}, fn);

Parâmetros de entrada

Nome

Tipo

Descrição

Obrigatório

Valor padrão

operationType

string

Nome do serviço RPC.

Y

-

requestData

array

Parâmetro da requisição RPC. Construa este parâmetro conforme a API RPC específica.

N

-

headers

object

Cabeçalhos definidos para a requisição RPC.

N

{}

gateway

string

Endereço do gateway.

N

Gateway do Alipay

compress

boolean

Indica se há suporte para compressão gzip na requisição.

N

true

disableLimitView

boolean

Impede a exibição da janela unificada de limitação de tráfego quando o gateway RPC sofre throttling.

N

false

timeout

int

Duração do tempo limite do RPC, em segundos.

N

O framework define os tempos limite de forma unificada e a política é complexa.

Especificamente, o tempo limite é de 20s em ambiente Wi-Fi para iOS e 30s nos demais ambientes.

No Android, o tempo limite varia entre 12s e 42s em ambientes Wi-Fi ou 4G, e entre 32s e 60s nos outros ambientes.

getResponse

boolean

Obtém o cabeçalho de resposta RPC. Nota: se definido como true, os dados de resposta recebem uma camada adicional de aninhamento, permitindo obter o trace ID/entity ID durante o relatório de fluxo de dados.

N

false

fn

function

Função de callback.

N

-

Parâmetros de saída

Parâmetro retornado na função de callback: result: {error }

Nome

Tipo

Descrição

error

string

Código de erro

Descrição dos códigos de erro

Código de erro

Descrição

10

Erro de rede

11

Tempo limite da requisição

Outros

Definido pelo Mobile Gateway

Códigos de erro RPC Native

Código de erro

Descrição

1000

Sucesso

0

Erro desconhecido

1

O cliente não encontrou o objeto de comunicação.

2

Acesso à rede indisponível no cliente (o código de erro é convertido para 10 na JSAPI).

3

Certificado do cliente incorreto.

4

Tempo limite esgotado na conexão de rede do cliente.

5

Velocidade da conexão de rede do cliente muito baixa.

6

O servidor não respondeu à requisição do cliente.

7

Erro de IO de rede no cliente.

8

Erro de agendamento de requisição de rede no cliente.

9

Erro de processamento no cliente.

10

Erro de desserialização de dados no cliente ou formato dos dados incorreto no servidor.

11

Falha ao fazer login no cliente.

12

A conta de login no cliente foi alterada.

13

Requisição interrompida. Por exemplo, a requisição de rede é interrompida quando a thread é interrompida.

14

Erro de cache de rede no cliente.

15

Erro de autorização de rede no cliente.

16

Erro de resolução DNS.

17

operationType não está na lista de permissões.

1001

Acesso negado.

1002

Limite de chamadas excedido: O sistema está ocupado. Tente novamente mais tarde.

2000

Tempo limite de login esgotado. Faça login novamente.

3000

Nenhum tipo de operação presente ou tipo de operação não suportado.

3001

Dados da requisição vazios: O sistema está ocupado. Tente novamente mais tarde.

3002

Formato de dados incorreto.

4001

Tempo limite da requisição de serviço esgotado. Tente novamente mais tarde.

4002

Exceção ao chamar remotamente o sistema de serviço: A rede está ocupada. Tente novamente mais tarde.

4003

Falha ao criar agente de chamada remota: A rede está ocupada. Tente novamente mais tarde.

5000

Erro desconhecido: Desculpe. Operações não permitidas no momento. Tente novamente mais tarde.

6000

Serviço RPC não encontrado.

6001

Método alvo RPC não encontrado.

6002

Quantidade de parâmetros RPC incorreta.

6003

Método alvo RPC inacessível.

6004

Exceção de parsing JSON RPC.

6005

Parâmetros RPC inválidos ao chamar o método alvo.

6666

Exceção no serviço RPC.

7000

Nenhuma chave pública definida.

7001

Parâmetros insuficientes para verificação de assinatura.

7002

Falha na verificação de assinatura.

7003

Falha na verificação de timestamp da assinatura.

7004

Parâmetro operationType vazio na API RPC de verificação de assinatura.

7005

Parâmetro productId vazio.

7006

API de verificação de assinatura: Parâmetro did vazio.

7007

API de verificação de assinatura: Parâmetro t (hora de envio da requisição) vazio.

7008

API de verificação de assinatura: Parâmetro IMEI (identificador do dispositivo cliente) vazio.

7009

API de verificação de assinatura: Parâmetro IMSI (identificador do usuário cliente) vazio.

7010

API de verificação de assinatura: Número da versão da API vazio.

7011

API de verificação de assinatura: Usuário não autorizado.

7012

API de verificação de assinatura: API RPC não liberada.

7013

API de verificação de assinatura: ID do produto não registrado ou nenhuma chave obtida.

7014

API de verificação de assinatura: Dados da assinatura vazios.

7015

API de verificação de assinatura: Assinatura inválida.

7016

API de verificação de assinatura: sid transmitido na API RPC de requisição de login está vazio.

7017

API de verificação de assinatura: sid transmitido na API RPC de requisição de login é inválido.

7018

API de verificação de assinatura: token transmitido na API RPC de requisição de login é inválido.

7019

API de verificação de assinatura: alipayuserid obtido pela API RPC de requisição de login está vazio.

8001

etag: Os dados de resposta não sofreram alterações.

Gateway personalizado RPC

Especifique o endereço do gateway para envio de requisições no RPC.

Lógica de throttling RPC

Versão do container

disableLimitView

Ação

Parâmetro de callback

<=9.9.5

true

Silencioso

1002

<=9.9.5

false

Alerta

1002

>=9.9.6

true

Silencioso

1002

>=9.9.6

false

Tratamento pelo gateway

100201

Tipo de ação

Descrição

Silencioso

Nenhuma ação

Alerta

Exibe uma caixa unificada de throttling, conforme a figura a seguir.

Toast

Exibe um toast do sistema. Se o usuário sair do sistema, nenhum toast aparece.

Tratamento pelo gateway

A ação pode ser silenciosa, alerta ou toast, dependendo da configuração RPC do gateway.

Caixa pop-up de throttling RPC

修改x1.png

Perguntas frequentes

P: Como lidar com ESLint: 'AlipayJSBridge' is not defined?

R: Para resolver problemas de indefinição do AlipayJSBridge, tente uma das duas soluções abaixo:

  • Solução 1:

    window.AlipayJSBridge.call('rpc');

  • Solução 2:

      const { AlipayJSBridge } = window;
      AlipayJSBridge.call('rpc');