Consulta API Guía de Migración V2
Cambios en la Especificación de V1
La Consulta V2 API fue introducido para eliminar todo /payment-objects puntos finales relacionados y unificar los parámetros de búsqueda para los cuatro /views/summaries/ puntos finales. Se han realizado los siguientes cambios:
-
Todos los puntos finales han sido actualizados para tener una ruta que comience con
/api/v2. Por ejemplo:-
/views/summaries/recalls→`/api/v2/views/summaries/recalls` -
/catalogue/process-objects/message-logs→`/api/v2/catalogue/process-objects/message-logs` -
etc.
-
-
Puntos finales del objeto de pago eliminados:
-
/all/payment-objects -
/all/payment-objects/{odsObjectId} -
/all/payment-objects/{paymentObjectId}/history -
Cada
/catalogue/payment-objects/el punto final ha sido eliminado (por ejemplo,/catalogue/payment-objects/PAIN_001_CREDIT_TRANSFER_TRANSACTION)
-
-
Los parámetros de búsqueda para los cuatro
/views/summaries/Los puntos finales de búsqueda han sido unificados. Anteriormente, estos cuatro API los endpoints tenían una mezcla de campos de búsqueda similares y únicos, ahora cada endpoint puede ser consultado utilizando cualquiera de los parámetros de búsqueda combinados. Este cambio ha sido introducido como resumen personalizado mappings permita a los clientes completar cualquier campo en un Resumen, independientemente del tipo de recorrido. Esto afecta los siguientes puntos finales:-
/api/v2/views/summaries/payments -
/api/v2/views/summaries/recalls -
/api/v2/views/summaries/batches -
/api/v2/views/summaries/bulks
-
-
La clase de respuesta para todos
/views/summaries/los puntos finales han cambiado aSummaryView, eliminando el uso de las clases distintasPaymentSummaryView,RecallSummaryView,BulkSummaryViewyBatchSummaryView. Las cuatro clases en desuso extendieron todas SummaryView sin cambios funcionales, la estructura y la respuesta de la API mantenerse consistente con la implementación V1. Esto afecta los siguientes puntos finales:-
/api/v2/views/summaries/payments -
/api/v2/views/summaries/payments/{unitOfWorkId} -
/api/v2/views/summaries/recalls -
/api/v2/views/summaries/recalls/{unitOfWorkId} -
/api/v2/views/summaries/batches -
/api/v2/views/summaries/batches/{unitOfWorkId} -
/api/v2/views/summaries/bulks -
/api/v2/views/summaries/bulks/{unitOfWorkId}
-
Migrando Conectores de Cliente
El ods-inquiry-client El módulo ha sido actualizado para soportar tanto la Consulta V1 como la Consulta V2. APIs. La configuración predeterminada (ods.inquiry.client.version=2) permite la instanciación del Cliente de Consulta V2 APIs y no necesita ser anulado explícitamente.
|
Si ya está utilizando el cliente V1 APIs y no desean migrar al cliente V2 APIs, su configuración debe ser actualizada para anular la configuración de la versión del cliente de la siguiente manera:`ods.inquiry.client.version=1` Esto asegurará al cliente V1 APIs puede ser habilitado y no se requerirá un cambio de código. Consulte Consulta V1 API documentación del cliente para más información sobre el cliente V1 APIs que se puede habilitar. |
El Cliente V2 disponible APIs se enumeran a continuación. Cliente API la configuración se encuentra bajo ods.inquiry.client, y todas las propiedades enumeradas a continuación deben estar precedidas por esto.
-
Configurar el Cliente V2 APIs
| Propiedad | Predeterminado | Notas |
|---|---|---|
|
|
Habilite el |
|
|
Habilite el |
|
|
Habilite el |
|
|
Habilite el |
|
|
Habilite el |
|
|
Habilite el |
|
|
Habilite el |
Cambios en el Conector del Cliente de V1
La diferencia del conjunto de V1 beans es que el PaymentSummaries,BulkSummaries,BatchSummaries, y RecallSummaries beans han sido reemplazados por el Summaries bean, y el PaymentObjects bean ha sido eliminado. Al migrar al Cliente V2 APIs, se deben realizar los siguientes cambios en el código:
-
Reemplace el uso de las interfaces de resumen con
Summaries. La diferencia entre ellos es que elSummariesel objeto de solicitud de búsqueda requiere una instancia de laSummarySearchFieldsclase, mientras que los otros, p. ej.PaymentSummariesrequiere una instancia de laPaymentSummarySearchFieldsclase. El nuevoSummarySearchFieldsLa clase contiene todos los campos disponibles dentro de cada una de las clases de campos de búsqueda V1. -
Todos los usos de las clases
PaymentSummaryView,RecallSummaryView,BatchSummaryView, yBulkSummaryViewdebe ser reemplazado con elSummaryViewclase. Las cuatro clases obsoletas todas extendían SummaryView sin cambios funcionales, por lo que la migración es solo un cambio de nombre de clase. -
Cualquier uso de
PaymentObjectsdebe ser reemplazado porMdsObjects. ElMdsObjectsla interfaz proporciona la misma funcionalidad quePaymentObjects, pero con cambios en los nombres de campo y método depaymentObjecttomdsObject.
Migrando Cliente de Pruebas
El ods-inquiry-test-client el módulo ha sido actualizado para soportar tanto la Consulta V1 como la Consulta V2 APIs. Similar al Cliente APIs, un nuevo conjunto de V2 Test Client APIs están disponibles a través de la InquiryClientV2 interfaz.
Uso Tanto los Clientes de Prueba V1 como V2 pueden ser utilizados al mismo tiempo. Si usted está migrando de V1 a V2, deberá actualizar su conjunto de pruebas para utilizar el InquiryClientV2 interfaz
El método InquiryClient createInquiryClientV2 devolverá una instancia predeterminada de la InquiryClientV2 interfaz.
@Configuration
class TestClientConfig {
@Bean
InquiryClient inquiryClient(@Value("${inquiry.base.url}") final String baseUrl,
@Value("${inquiry.openapi-validation.enabled}") final boolean openApiValidation,
final CurrentAuthToken currentAuthToken) {
return InquiryClient.createInquiryClient(InquiryClientOptions.builder()
.baseUrl(baseUrl)
.currentAuthToken(currentAuthToken)
.requestTimeout(Duration.ofSeconds(60))
.openApiValidation(openApiValidation)
.build());
}
@Bean
InquiryClientV2 inquiryClientV2(@Value("${inquiry.base.url}") final String baseUrl,
@Value("${inquiry.openapi-validation.enabled}") final boolean openApiValidation,
final CurrentAuthToken currentAuthToken) {
return InquiryClient.createInquiryClientV2(InquiryClientOptions.builder()
.baseUrl(baseUrl)
.currentAuthToken(currentAuthToken)
.requestTimeout(Duration.ofSeconds(60))
.openApiValidation(openApiValidation)
.build());
}
@Bean
InquiryClientV3 inquiryClientV3(@Value("${inquiry.base.url}") final String baseUrl,
@Value("${inquiry.openapi-validation.enabled}") final boolean openApiValidation,
final CurrentAuthToken currentAuthToken) {
return InquiryClient.createInquiryClientV3(InquiryClientOptions.builder()
.baseUrl(baseUrl)
.currentAuthToken(currentAuthToken)
.requestTimeout(Duration.ofSeconds(60))
.openApiValidation(openApiValidation)
.build());
}
}
Cambios del Cliente de Prueba de V1
La diferencia entre el Cliente de Prueba V1 y V2 APIs son los siguientes:
-
Todo APIs han sido actualizados para utilizar la Consulta V2 API especificación
-
El
Payments,Batches,Bulks, yRecallslas interfaces han sido desaprobadas, para ser reemplazadas con elSummaries1interfaz.-
El
Summaries1la interfaz utiliza elSummarySearchFieldsclase, mientras quePaymentsutiliza elPaymentSummarySearchFieldsclase
-
-
El
PaymentObjectsla interfaz ha sido eliminada de laInquiryClient2interfaz-
El
MdsObjectsla interfaz debe ser utilizada en su lugar
-