Pagos
Recuperar una orden de pago
Registra el recupero total de una orden de pago con su fecha, cómo terminó el dinero, un motivo y la versión leída: revierte lo imputado y lo aplicado, en un solo acto. La orden no se anula.
POST/api/v1/payments/recover
- Permiso
payments.recover- Empresa
- Opera sobre la empresa activa
- Tipo
- Escritura: pide Idempotency-Key
- Respuesta
- JSON
Encabezados
CookietextorequeridoLa cookie de sesión del usuario de la integración (
__Secure-erp.session_token). Cuando esté la clave API, va enAuthorization: Bearer. Ver Autenticación.X-Expected-CompanyuuidrequeridoLa empresa sobre la que operás. Si no coincide con la de la credencial, responde 409. Ver Empresa activa.
Idempotency-KeytextorequeridoUna clave única por intento, de hasta 255 caracteres. Reintentar con la misma clave y los mismos datos devuelve el mismo resultado sin repetir la operación. Ver Idempotencia.
Cuerpo
JSON con Content-Type: application/json.
paymentOrderIduuidrequeridoversionenterorequeridomínimo 1
recoveryDatefechaadmite nullrefundKindopciónrequeridoValores:
returnednot-paidtoAccounttextoadmite nullhasta 120 caracteres
reasontextorequeridode 1 a 500 caracteres
Respuesta
200 con este JSON.
iduuidrequeridonumberenterorequeridonametextorequeridopaymentDatefecharequeridosupplierobjetorequeridoCampos (4)
iduuidrequeridolegalNametextorequeridotaxIdtextorequeridoaddresstextorequerido
currencyCodetextorequeridokindslista de opciónrequeridoValores:
transfercashown-checkown-echeqendorsed-checkmethodsTexttextorequeridoadvanceBalancetextorequeridototaltextorequeridorecoveredsí o norequeridoversionenterorequeridomínimo 1
exchangeRatecualquierarequeridoforeignCurrencyCodecualquierarequeridoallocatedTotaltextorequeridoadvanceTotaltextorequeridoisAdvancesí o norequeridomethodsTotaltextorequeridoexchangeDifferencetextorequeridonotescualquierarequeridowarningsAcceptedlista de opciónrequeridoValores:
payments.apocryphalpayments.invoice-not-verifiedmethodslista de objetorequeridoCampos de cada elemento (10)
kindopciónrequeridoValores:
transfercashown-checkown-echeqendorsed-checkamounttextorequeridofromAccountcualquierarequeridotoAccountobjetorequeridoadmite nullCampos (3)
iduuidrequeridobankNamecualquierarequeridoaccountKeytextorequerido
referencecualquierarequeridobankNamecualquierarequeridocheckNumbercualquierarequeridodrawerNamecualquierarequeridodrawerTaxIdcualquierarequeridodueDatefecharequeridoadmite null
allocationslista de objetorequeridoCampos de cada elemento (15)
iduuidrequeridooriginopciónrequeridoValores:
payment-orderadvanceallocatedOnfecharequeridopaidtextorequeridocancelledtextorequeridocurrencyCodetextorequeridoexchangeDifferencetextorequeridodocumentobjetorequeridoCampos (3)
iduuidrequeridokindtextorequeridolabeltextorequerido
installmentcualquierarequeridodueDatefecharequeridobalancetextorequeridodocumentBalancetextorequeridodocumentRatecualquierarequeridoreversedsí o norequeridocreatedByobjetorequeridoadmite nullCampos (2)
idtextorequeridonamecualquierarequerido
recoveryobjetorequeridoadmite nullCampos (10)
iduuidrequeridonumberenterorequeridonametextorequeridorecoveryDatefecharequeridototaltextorequeridorefundKindopciónrequeridoValores:
returnednot-paidtoAccountcualquierarequeridoreasontextorequeridoregisteredAtfecha y horarequeridoregisteredByobjetorequeridoadmite nullCampos (2)
idtextorequeridonamecualquierarequerido
registeredAtfecha y horarequeridoregisteredByobjetorequeridoadmite nullCampos (2)
idtextorequeridonamecualquierarequerido
supplierAccountlista de objetorequeridoadmite nullCampos de cada elemento (2)
currencyCodetextorequeridoamounttextorequerido
Errores
Un rechazo responde application/problem+json con un code estable. Los más comunes en esta operación:
401 | Falta la credencial o venció. |
403 | La credencial no tiene el permiso payments.recover. |
409 | La empresa activa no es la de X-Expected-Company. |
409 | Otra persona cambió el registro desde que lo leíste (record.stale). |
422 | Datos inválidos o una regla de negocio rota, con el detalle por campo. |
503 | Sistema ocupado: reintentá después de Retry-After segundos. |
La lista completa está en Errores.