Hola a todos
IM diseñar un sitio Web de comercio electrónico usando mi companys de hospedaje web site builder y algo de código html de luz. Pero estoy usando una tercera compañía para cumplir con las órdenes y su API de CreateOrder pasa a lo largo de los detalles de la orden de fulillment directamente a su carrito de compras. Con la API XML, los desarrolladores pueden enviar inmediatamente pedidos pendientes de pago que están listos para su procesamiento. Estoy trabajando en un plazo de extrememly apretado para tener la Web completada por este viernes. Estoy completamente perdido y no tienen ni idea cómo escribir, obtener o usar el código XML para integrar su plataforma de API en mi sitio Web. Cualquier sugerencia de ayuda sería muy apreciada. A continuación aparecen algunos ejemplos de lo que me mandaron en orden a la configuración:
Ejemplo de entrada de CreateOrder
<?xml version="1.0" encoding="utf-8"?>
<OrderForm>
<Auth>
<key>4028a0e356acc947fcd2bfbf00cef11e128d484a</key>
</Auth>
<Order>
<fullname>John Smith</fullname>
<address1>78 Franklin Street</address1>
<address2></address2>
<city>New York</city>
<postal>10004</postal>
<state>NY</state>
<country>United States</country>
<sku>1000000</sku>
<size>Large</size>
<color>Black</color>
<quantity>1</quantity>
<priorityShipping>0</priorityShipping>
<comments></comments>
</Order>
</OrderForm>
- <?xml version="1.0" encoding="utf-8"?>
- <OrderForm>
- <Auth>
- <key>4028a0e356acc947fcd2bfbf00cef11e128d484a</key>
- </Auth>
- <Order>
- <fullname>John Smith</fullname>
- <address1>78 Franklin Street</address1>
- <address2></address2>
- <city>New York</city>
- <postal>10004</postal>
- <state>NY</state>
- <country>United States</country>
- <sku>1000000</sku>
- <size>Large</size>
- <color>Black</color>
- <quantity>1</quantity>
- <priorityShipping>0</priorityShipping>
- <comments></comments>
- </Order>
- </OrderForm>
PHP:
Código de ejemplo - función
Este ejemplo PHP cURL básica es una manera fácil de preparar y transmitir el código XML para su procesamiento.
<?php
function xml_post($post_xml, $url, $port) {
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$ch = curl_init(); // initialize curl handle
curl_setopt($ch, CURLOPT_URL, $url); // set url to post to
curl_setopt($ch, CURLOPT_FAILONERROR, 1); // Fail on errors
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // allow redirects
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
curl_setopt($ch, CURLOPT_PORT, $port); //Set the port number
curl_setopt($ch, CURLOPT_TIMEOUT, 15); // times out after 15s
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_xml); // add POST fields
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
if($port==443) {
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
}
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
?>
- <?php
- function xml_post($post_xml, $url, $port) {
- $user_agent = $_SERVER['HTTP_USER_AGENT'];
- $ch = curl_init(); // initialize curl handle
- curl_setopt($ch, CURLOPT_URL, $url); // set url to post to
- curl_setopt($ch, CURLOPT_FAILONERROR, 1); // Fail on errors
- curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // allow redirects
- curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
- curl_setopt($ch, CURLOPT_PORT, $port); //Set the port number
- curl_setopt($ch, CURLOPT_TIMEOUT, 15); // times out after 15s
- curl_setopt($ch, CURLOPT_POSTFIELDS, $post_xml); // add POST fields
- curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
- if($port==443) {
- curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
- }
- $data = curl_exec($ch);
- curl_close($ch);
- return $data;
- }
- ?>
Código de ejemplo - XML:
Este código de ejemplo XML muestra lo fácil que es registrar pedido de cliente información, con algunos detalles adicionales.
<?xml version="1.0" encoding="utf-8"?>
<OrderForm>
<Auth>
<key>4028a0e356acc947fcd2bfbf00cef11e128d484a</key>
</Auth>
<Order>
<fullname>John Smith</fullname>
<address1>78 Franklin Street</address1>
<address2></address2>
<city>New York</city>
<postal>10004</postal>
<state>NY</state>
<country>United States</country>
<sku>1000000</sku>
<size>Large</size>
<color>Black</color>
<quantity>1</quantity>
<priorityShipping>0</priorityShipping>
<comments>print on the back of the t-shirt.</comments>
</Order>
</OrderForm>
- <?xml version="1.0" encoding="utf-8"?>
- <OrderForm>
- <Auth>
- <key>4028a0e356acc947fcd2bfbf00cef11e128d484a</key>
- </Auth>
- <Order>
- <fullname>John Smith</fullname>
- <address1>78 Franklin Street</address1>
- <address2></address2>
- <city>New York</city>
- <postal>10004</postal>
- <state>NY</state>
- <country>United States</country>
- <sku>1000000</sku>
- <size>Large</size>
- <color>Black</color>
- <quantity>1</quantity>
- <priorityShipping>0</priorityShipping>
- <comments>print on the back of the t-shirt.</comments>
- </Order>
- </OrderForm>
Código de ejemplo - el XML de contabilización
<?php echo xml_post($XML, "https://thecompany/api/CreateOrder/", "443"); ?>
Moderator Remark: Please remember to put code bbcode around code so it formats correctly. I added this for you on this post.