Ir al contenido
A AmunPay API PixVersión 3.38 · actualizada el Páginas

Autenticación

La credencial de su máquina es el par client_id y client_secret. Intercambie los dos por un token OAuth2 (client_credentials) y envíe el token en Authorization: Bearer en toda llamada a /v2/. El token vale 900 segundos.

La API solo acepta llamadas desde las IP de su servidor registradas en su credencial. Usted genera el client_secret e informa las IP de salida en el panel, en El secreto y las IP en el panel.

Token #

POST /oauth/token

El client_id y el client_secret van en HTTP Basic. Es lo que hace curl -u:

curl -u "loja01:SEU_CLIENT_SECRET" -d "grant_type=client_credentials" -d "scope=cob.write cob.read pix.read ex.saldo.read ex.config.read" https://api.amunpay.com/oauth/token
POST /oauth/token
Authorization: Basic base64(client_id:client_secret)
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials&scope=cob.write cob.read pix.read ex.saldo.read ex.config.read
→ 200
{
  "access_token": "eyJhbGciOiJFUzI1NiIsImtpZCI6IjAxSjEifQ...",
  "token_type": "Bearer",
  "expires_in": 900,
  "scope": "cob.write cob.read pix.read ex.saldo.read ex.config.read"
}
Campo Tipo Obligatorio Descripción
grant_type string sí Siempre client_credentials.
scope string no Alcances separados por espacio, como máximo 10, dentro de los concedidos. Si se omite, el token trae todos los alcances concedidos.

Como alternativa al Basic, client_id y client_secret pueden ir en el cuerpo del formulario. Enviar los dos de ambas formas con valores diferentes responde 400 invalid_request.

El token solo se emite y solo vale para llamadas que vienen de las IP registradas: desde otra IP, la solicitud del token y cada llamada responden 403 origem_nao_permitida. Sin ninguna IP registrada, ninguna llamada pasa.

El secreto y las IP en el panel #

El gestor de su empresa genera el client_secret en el panel, en Integração, en la pestaña Credenciais, con el código del segundo factor. El secreto aparece una sola vez, junto al client_id, cada uno con el botón de copiar, y nunca se vuelve a mostrar. Si lo pierde, genere otro: el anterior deja de valer en el acto. Los tokens ya emitidos valen hasta expirar, salvo cuando usted marca sospecha de filtración, que también los invalida.

Cuándo Qué sucede
Primera credencial Usted informa al menos una IP de salida, y las IP valen en el acto.
Generar de nuevo Un secreto nuevo. Los alcances y las IP se mantienen.
Quitar una IP Vale en el acto.
Incluir una IP Vale en el momento, con un correo electrónico a los contactos técnico y financiero de su empresa. Si AmunPay activa la espera de IP para su cuenta, vale 24 horas después: la pantalla muestra la hora en que pasa a valer, y usted puede desistir antes.

El panel acepta IP pública, con prefijo de hasta /24 (IPv4) o /48 (IPv6), hasta 20 IP. Todo acto sobre la credencial va por correo electrónico a los contactos de su empresa, sin el secreto. Sin contacto técnico ni financiero registrado, el panel no genera ni incluye IP.

Solo el gestor genera y cambia las IP. Los demás usuarios ven el client_id y las IP. Si AmunPay activa la espera del segundo factor para su cuenta, el gestor que acaba de activar el segundo factor, que fue promovido, reactivado o al que otra persona le restableció la contraseña espera 24 horas para generar. La credencial de una subcuenta con credencial propia la genera la empresa titular.

Si la pantalla dice que la funcionalidad no está habilitada para su cuenta, hable con AmunPay. AmunPay también genera el secreto y registra las IP por usted, y por AmunPay la IP nueva vale en el acto.

Primera llamada #

GET /v2/ex/config

GET /v2/ex/config
→ 200
{
  "conta": { "status": "ATIVA", "desde": "2026-09-18T09:20:23Z" },
  "capacidades": {
    "pix": true,
    "subcontas": true,
    "split": true,
    "baas": false
  },
  "recebedor": { "chave": "01J8Z3QK5W7R2N4M6P8T0V2X4Y" },
  "custodia": { "tipo": "PROPRIA", "custodiante": "Conta PI", "recusaAntesDoCredito": true },
  "depositoPorChave": { "modo": "RECUSAR" }
}
Campo Tipo Descripción
conta.status string ATIVA es el único estado que opera.
capacidades objeto Lo que esta cuenta puede usar. Léalo antes de suponer.
recebedor.chave string Identificador de su cuenta, que va en la chave de los cobros. No lo divulgue como clave Pix: reciba siempre por cobro, mediante el pixCopiaECola. Un Pix sin txid no se convierte en saldo, salvo cuando depositoPorChave.modo es ACEITAR.
custodia.tipo string PROPRIA: la cuenta es de esta institución. PARCEIRA: cuenta nominal en otra institución de pago.
custodia.recusaAntesDoCredito booleano true: un Pix rechazado no entra en la cuenta. false: entra y vuelve al pagador por devolución.
depositoPorChave.modo string RECUSAR: un Pix sin cobro se rechaza o se devuelve. ACEITAR: se convierte en un cobro y acredita.

Alcances #

Alcance Qué habilita
cob.read, cob.write Cobros.
pix.read, pix.write Pix recibidos y devoluciones.
ex.pix.send, ex.pix.send.read Retiros.
ex.saldo.read, ex.extrato.read Saldo, extracto, transacciones y resumen.
ex.webhook.read, ex.webhook.write, ex.eventos.read Webhooks y el feed de eventos.
ex.subcontas.read, ex.subcontas.write Subcuentas.
ex.limites.read, ex.limites.write, ex.bloqueios.read Límites y bloqueos de saldo.
ex.med.read Disputas.
ex.inquilinos.read, ex.inquilinos.write Credenciales propias de subcuenta.
ex.config.read GET /v2/ex/config.

Errores del token #

El POST /oauth/token responde en el formato { "error", "error_description" }.

Estado error Cuándo
401 invalid_client Secreto incorrecto, client_id desconocido o credencial suspendida (la respuesta no dice cuál), o ninguna credencial enviada.
400 invalid_request grant_type ausente, Basic que no se decodifica, o Basic y cuerpo divergentes.
400 unsupported_grant_type grant_type diferente de client_credentials.
400 invalid_scope Alcance fuera de los concedidos, o más de 10.
403 origem_nao_permitida La IP de origen no está entre las IP que valen en la credencial. Una IP incluida por el panel con la espera de IP activada solo vale 24 horas después.
429 invalid_client Cinco secretos incorrectos seguidos desde la misma IP. Espere el Retry-After; el intento durante la espera no se verifica.
429 limite_requisicoes Más de 2 solicitudes por segundo desde la misma IP (ráfaga de 20). Espere el Retry-After.
413 corpo_grande_demais El cuerpo supera 4 KiB.

Errores en las llamadas #

Estado title Cuándo
401 acesso_negado Llamada sin Authorization: Bearer.
401 token_invalido Token inválido o expirado. Renuévelo.
401 token_revogado El token fue revocado antes de expirar (rotación del secreto, cambio de alcances o suspensión). Solicite otro token una vez, con el secreto actual; si la solicitud es rechazada, hable con soporte.
403 origem_nao_permitida La IP de origen no está entre las IP que valen en la credencial. Renovar no lo resuelve. Una IP incluida por el panel con la espera de IP activada solo vale 24 horas después.
403 escopo_insuficiente El token no tiene el alcance de la ruta. Solicite un token con él, o sin scope. Si no está entre los concedidos, hable con soporte.
403 merchant_nao_provisionado El client_id aún no tiene cuenta.
403 conta_bloqueada La cuenta no está ATIVA.