Pergunta

Se alguém tem alguma experiência com a API USPS entrega confirmação, eu realmente aprecio qualquer visão posso obter ...

Eu estou usando PHP e cURL para enviar uma solicitação XML para a API do DC. Quando eu enviar a resposta através cURL, eu não recebem nada. Sem resposta de erro, não XML, ou qualquer coisa. Quando eu enviar o XML através de um navegador, recebo uma resposta de erro, que é pelo menos uma resposta. Estou parado porque o erro que recebo através do browser aparentemente (de acordo com a sua linha de apoio) significa que seus problemas de servidor estão afetando a API. No entanto, eu não sei por que eu não seria capaz de obter essa resposta através cURL.

Foi útil?

Solução

Estamos usando o Address Validation API e .NET, não confirmação da entrega e PHP, mas talvez eu possa ajudar.

O XML que você envia o correio deve ser apenas uma festa da string de consulta como esta:

https://servername/ShippingAPITest.dll?API=DeliveryConfirmationV3&XML=<DeliveryConfirmationV3.0Request USERID="username">…….</DeliveryConfirmationV3.0Request>

Em seguida, eles só servi-lo até um documento XML de volta. Eu nunca usei a biblioteca cURL, mas talvez você pode verificar que este é o que está realmente enviando.

Além disso, você tem sido ainda aprovado? Se não, então eles só permitem as respostas dos testes enlatados. Qualquer outra coisa que lhe dará um erro, mesmo que seria válido no servidor de produção.

Outras dicas

Minha suspeita é que algo está fora da estrutura do seu pedido (por exemplo, um cabeçalho em falta), uma vez que os sons de conteúdo XML como se fosse válido (ou pelo menos como servidores do USPS lê-lo corretamente).

A nossa implementação da API USPS usa um TCP raw / IP com fsockopen, que tem a vantagem de que posso confirmar exatamente o que estamos enviando a estrutura do pedido: POST /ShippingAPI.dll HTTP/1.0

As únicas cabeçalhos estamos incluindo na solicitação são:

User-Agent: (foo)\r\n
Host: (bar)\r\n
Content-Type: text/xml\r\n
Content-Length: strlen($xml)\r\n\r\n

Será que isso corresponde ao que você está enviando através cURL?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top