Estoy actualizando el script de descarga de mis pedidos de Amazon desde: $serviceUrl = " https://mws-eu.amazonservices.com/Orders/2011-01-01 " a $serviceUrl = " https://mws-eu.amazonservices.com /Pedidos/2013-09-01 "
Algunos de los parámetros han cambiado de matrices a cadenas.
Al usar ListOrdersSample.php, intento descargar solo pedidos sin enviar y enviados parcialmente, pero tengo dificultades para formatear la variable.
En el bloc de notas veo:
OrderStatus.Status.1=Sin enviar OrderStatus.Status.2=Enviado parcialmente
Yo he tratado:
//$orderStatuses='OrderStatus.Status.1=Unshipped,OrderStatus.Status.2=PartiallyShipped'; // $orderStatuses='Unshipped:PartiallyShipped'; // $orderStatuses='Unshipped&PartiallyShipped'; // $orderStatuses= (array("Unshipped", "PartiallyShipped")); $orderStatuses='Unshipped'; $request->setOrderStatus($orderStatuses);Todas las versiones de separadores parecen fallar con un error similar:
Excepción detectada: se detectó 1 error de validación: el valor '[Sin enviar y enviado parcialmente]' en 'Estado del pedido' no pudo satisfacer la restricción: El miembro debe cumplir con la restricción: [El miembro debe cumplir con el conjunto de valores de enumeración: [No cumplible, Enviado parcialmente, Disponibilidad pendiente, Enviado, Pendiente, Factura no confirmada, Cancelado , Sin enviar]]
El único que funciona es el Unshipped sin comentar por sí solo, luego aparece el error:
Excepción capturada: No enviado y Parcialmente enviado deben usarse juntos al filtrar por OrderStatus. No se puede utilizar uno y el otro no.
Tengo un problema similar al tratar de enumerar varios ID de mercado.
Cualquier ayuda sería apreciada
Finalmente conseguí que funcionara. Si alguien está interesado, el formato para cadenas de elementos múltiples es:
$marketplaceIdList=(array('A1F83G8C2ARO7P','A13V1IB3VIYZZH','A1PA6795UKMFR9','APJ6JRA9NG5V4','A1RKKUPIHCS9HS','ATVPDKIKX0DER')); $request->setMarketplaceId($marketplaceIdList); $orderStatuses=(array('Unshipped','PartiallyShipped')); $request->setOrderStatus($orderStatuses); invokeListOrders($service, $request);