Instrucciones de acceso#
El servicio de mensajería es un servicio push activo lanzado por la plataforma de desarrolladores PandaPon para mejorar la eficiencia. Actualmente, el contenido push solo está abierto a mensajes relacionados con pedidos. Basado en este servicio push, las aplicaciones ya no necesitan encuestar API para obtener datos de distribución. Sólo cuando los datos de negocio correspondientes al mensaje cambien, la plataforma abierta empujará activamente el contenido de negocio al desarrollador. Los desarrolladores solo necesitan suscribirse al mensaje con antelación y pueden analizar el contenido del mensaje. Cabe señalar que debido a que no se puede garantizar el orden de los mensajes, algunos mensajes deben sincronizarse con la interfaz de consulta OpenAPI. El acceso a los mensajes puede reducir efectivamente la frecuencia de llamadas de la API y reducir la presión sobre el sistema.Pasos de suscripción#
Ubicación: Open Platform Application Console - Servicio de mensajería
Pasos: Los desarrolladores pueden configurar una URL de devolución de llamada en la plataforma abierta para recibir solicitudes de mensajes.
Iniciar sesión en la plataforma abierta PandaPon como desarrollador;
Seleccione la consola;
Seleccione el servicio de mensajería;
Complete la dirección de devolución de llamada y seleccione Verificar. Si se devuelve el código de estado HTTP 200, se solicitará que la verificación haya tenido éxito;messageType: tipo de mensaje
messageBody: cuerpo del mensaje
mensajePlataforma: Canal de mensajes 0-Taobao Plataforma 1-1688 Plataforma
Timestamp: Tiempo de empuje del mensajeDescripción del mecanismo#
Dirección de devolución de llamada#
Descripción: Los desarrolladores deben proporcionar un canal de recepción de mensajes, y la forma de recibir push es una solicitud POST HTTPS.
Para usar el servicio de mensajería, debe preparar una interfaz de devolución de llamada para recibir el mensaje. Por favor siga estrictamente los siguientes requisitos:
Por favor, utilice la dirección de devolución de llamada del protocolo HTTPS;
Después de recibir el mensaje, devuelva el código de estado HTTP 200 para confirmar la recepción del mensaje.
El tiempo de espera es de 1000ms.Retrato y compensación#
Después del fracaso, el mensaje se volverá a empujar media hora después, hasta cinco veces;
Si el sistema se interrumpe más de cinco veces para volver a intentarlo, vuelva a obtener los datos a través de la interfaz de consulta pertinente.Firma del mensaje#
Descripción: Los datos se transmitirán en texto claro. Por razones de seguridad, la plataforma abierta hará el procesamiento de la firma de resumen en el cuerpo del mensaje, y el resultado de la firma se colocará en el campo de autorización del encabezado de solicitud POST. El algoritmo de firma es el siguiente:#Solicitar parámetros de firmaSecret = "{AccessSecret}"Authorization = HEX_ENCODE(HMAC-SHA256(Base, Secret));Referencia de código de firma Java:public static String getSignature(String base, String secret) {
try {
Mac sha256Hmac = Mac.getInstance(HMAC_SHA256);
SecretKeySpec secretKey = new SecretKeySpec(secret.getBytes(), HMAC_SHA256);
sha256Hmac.init(secretKey);
return byteArraytoHexString(sha256Hmac.doFinal(base.getBytes()));
} catch (Exception e) {
log.error("Failed to generate signature");
}
return null;
}
Sugerencias de manejo#
Después de recibir el mensaje, verifique la firma para prevenir ataques externos. ¡No convierta ni modifique el cuerpo original del mensaje en consecuencia al firmar! De lo contrario, la comparación de firmas será inconsistente.
Nota: messageBody es un tipo de cadena.
Debido al límite de tiempo de respuesta de la interfaz (dentro de 1000ms), puede almacenarse en una cola asíncrona para el procesamiento empresarial después de recibir el mensaje.