updateTransactionMetadata.
Las anotaciones son compatibles en:
- Depósitos (
depositCashBalance1) - Compras de tarjetas de regalo (
purchaseGiftCard) - Transferencias de la billetera (
createTransfer,transferInternalBalance) - Creación de tarjeta virtual (
createVirtualCard)- se excluye
attachment
- se excluye
Cómo funciona
- Opcional: Si quieres adjuntar un archivo, súbelo primero mediante el endpoint REST de carga. Recibirás un
attachmentId. - Pasa
memo,transactionCategoryy/oattachmentIden la entrada de tu mutación, ya sea en el momento de la transacción o después medianteupdateTransactionMetadata. - Lee las anotaciones en
getTransactions,getUserPurchaseso en la respuesta de la mutación. El campoattachmentUrldevuelve una URL firmada de corta duración para acceder al archivo.
Paso 1: Cargar un adjunto (opcional)
Este es un endpoint REST, no una mutación de GraphQL
Endpoint
POST /api/v1/file-upload/transaction-memo-attachment
Autenticación
Authorization: Bearer <YOUR_USER_ACCESS_TOKEN>
Solicitud
Envía el archivo comomultipart/form-data con el nombre de campo file.
Tipos aceptados: application/pdf, image/png
⚠️ JPEG no es aceptado para adjuntos de transacciones.
Solicitud de ejemplo
Respuesta
attachmentId; lo pasarás en la entrada de tu mutación en el siguiente paso.
El attachmentId está limitado al alcance de tu cuenta. El sistema verifica que el archivo exista en el almacenamiento de tu cuenta cuando envías la mutación. Se rechazará un ID de una cuenta diferente.
Errores de carga
Paso 2: Anotar la transacción
Puedes proporcionar anotaciones en el momento de la transacción original o actualizarlas después.Opción A — En el momento de la transacción
Las siguientes mutaciones aceptanmemo, transactionCategory y attachmentId como campos opcionales en su entrada:
depositCashBalance→DepositCashBalanceInputpurchaseGiftCard→PurchaseGiftCardInputcreateTransfer→CreateTransferInputtransferInternalBalance→TransferInternalBalanceInput
Campos de anotación
Ejemplo — Comprar tarjeta de regalo con anotación
Opción B — Después de la transacción (updateTransactionMetadata)
Usa esta mutación para agregar o actualizar anotaciones en cualquier transacción existente.
Semántica de actualización parcial: Solo se actualizan los campos que incluyas. Los campos omitidos quedan sin cambios. Pasa null para borrar un campo.
Mutación
UpdateTransactionMetadataInput
Alcances requeridos
LIST_PAYMENT y LIST_PURCHASES
Ejemplo — Agregar un memo y una categoría
Ejemplo — Adjuntar un archivo a una transacción existente
Ejemplo — Borrar un memo
Respuesta de ejemplo
Errores
Lectura de anotaciones
Las anotaciones se devuelven en lo siguiente:
⚠️ attachmentUrl es una URL firmada. Expira poco después de ser generada. No la almacenes: vuelve a recuperar la transacción cuando necesites mostrar o acceder al archivo.