https://api.veriko.mx/v1/beneficiaries/{id} Actualizar un beneficiario
Guía de uso →Actualiza un beneficiario existente. Acepta envoltorio JSON:API o un objeto plano. Tres rutas:
- Solo
label: se sanea y persiste. -account_numbernuevo (también acepta el alias legacyclabe): re-derivaaccount_type,bank_codeybank_namecon las mismas reglas quePOST /v1/beneficiaries. Para tipophoneel cuerpo debe incluirbank_code. - Solo
bank_code: válido únicamente cuando el beneficiario existente es tipophone; para CLABE/card se ignora silenciosamente. Dispara la auditoríabeneficiary.phone_bank_updatedcuando el código cambia.
Si el cuerpo no contiene ningún campo editable → 422 no_valid_fields.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id * | path | integer | obligatorio | ID numérico del beneficiario. |
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
label | string (?–100) | opcional | Etiqueta opcional libre. Saneada con `strip_tags` + `trim`. p. ej.Proveedor XYZ |
account_number | string (patrón) | opcional | Nuevo número de cuenta. Reemplaza el existente y dispara la re-derivación de `account_type`, `bank_code` y `bank_name`. Para tipo `phone`, `bank_code` debe acompañar la petición. p. ej.012180004412345678 |
bank_code | string (patrón) | opcional | Código Banxico SPEI de 5 dígitos. Para beneficiarios de tipo `phone`, puede enviarse aislado para reasignar el banco DiMo del receptor. Para CLABE/card el campo se ignora. p. ej.40021 |
curl -X PUT 'https://api.veriko.mx/v1/beneficiaries/{id}' \
-H 'Authorization: Bearer mxcep_••••' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"attributes": {
"label": "Proveedor XYZ actualizado"
}
}
}'
Ejemplo en Python — próximamente.
Ejemplo en JavaScript — próximamente.
Ejemplo en PHP — próximamente.
| Campo | Tipo | Descripción |
|---|---|---|
type * | string | Tipo de recurso JSON:API. Siempre `beneficiary`. |
id * | integer | Identificador numérico autoincremental del beneficiario en la tabla `user_beneficiaries`. |
attributes * | object | Atributos canónicos del beneficiario (datos de la cuenta receptora y metadatos del registro). |
account_number * | string | Número de cuenta almacenado: CLABE (18 dígitos), tarjeta (13-19 dígitos) o celular DiMo (10 dígitos). Use `account_type` para desambiguar el tipo exacto. |
account_type * | string | Tipo de cuenta autodetectado: `clabe` (18 dígitos), `card` (13-19 dígitos) o `phone` (10 dígitos, celular DiMo). |
bank_code * | string | Código Banxico de 5 dígitos del banco receptor, derivado del prefijo CLABE, BIN de la tarjeta o catálogo DiMo. |
bank_name * | string | Nombre del banco resuelto a partir del prefijo CLABE, BIN de la tarjeta o catálogo DiMo. |
label | string | null anulable | Etiqueta descriptiva libre del usuario. `null` si no fue asignada. |
status * | string | Estado del beneficiario. `inactive` se asigna cuando el beneficiario se archiva (no aparece en listados por defecto). |
created_at * | string (date-time) | Marca temporal UTC de creación. |
| Código | Clase | Descripción | Cuerpo |
|---|---|---|---|
| 200 | 2xx | Beneficiario actualizado. | UpdateBeneficiaryResponse |
| 401 | 4xx | Se requiere autenticación o las credenciales son inválidas | ErrorResponse |
| 403 | 4xx | Permisos insuficientes | ErrorResponse |
| 404 | 4xx | El recurso no existe o no es visible para el llamador | Error |
| 422 | 4xx | Falló la validación. Códigos posibles: `no_valid_fields`, `invalid_account_format`, `invalid_clabe_checksum`, `invalid_card_luhn`, `clabe_prefix_not_recognized`, `bank_code_required_for_phone`, `invalid_bank_code`, `invalid_account_length`. | ErrorResponse |
| Código | Clave | Detalle |
|---|---|---|
| 401 | unauthorized | Invalid or missing authentication credentials. Envelope
|
| 403 | forbidden | You do not have permission to access this resource. Envelope
|
| 422 | no_valid_fields | No editable fields in request body. Envelope
|