Guía de desarrollo de tiendas personalizadas

Cómo crear una integración de tienda personalizada para ShipStation, definiciones de campo XML y ejemplos de solicitud y respuesta XML esperadas.

La opción Tienda personalizada en ShipStation permite a un desarrollador crear una conexión personalizada para una fuente de pedidos que no tenga una integración preconfigurada con ShipStation.

Una conexión de Tienda personalizada te permite importar pedidos a ShipStation con un solo clic y permite que ShipStation envíe automáticamente actualizaciones del estado del envío y de la información de seguimiento a tu carrito o marketplace una vez creada una etiqueta.

Requiere conocimientos avanzados de desarrollo

Ten en cuenta que la tienda personalizada requiere conocimientos avanzados de desarrollo para su configuración. Muchos clientes de ShipStation con esos conocimientos han utilizado esta documentación para integrar sus tiendas personalizadas de principio a fin.

El soporte de ShipStation para tiendas personalizadas es limitado, pero, si encuentras errores durante el proceso de configuración, nuestro equipo de soporte puede proporcionarte información adicional para que tú o tu desarrollador puedan tomar medidas correctivas.

Primeros pasos

Cómo funciona la tienda personalizada

Para integrarte con la Tienda personalizada, debes exponer un punto final del servicio web que devuelva XML según el formato de esta guía.

El punto final del servicio web se utilizará para gestionar dos solicitudes principales:

  • OBTENER: Permite a ShipStation extraer información de pedidos de tu Tienda personalizada, incluida la dirección del destinatario, productos, clientes, etc. 

  • PUBLICAR: Permite a ShipStation publicar la información del envío en la tienda cuando se envía un pedido, incluido el método de envío, el estado del envío, el número de seguimiento, etc.

Cuando tu punto final del servicio web esté listo, podrás conectar ShipStation a tu tienda mediante la opción de conexión a tienda personalizada. Podrás importar pedidos y devolver los detalles del envío.

Autenticación

ShipStation utiliza la autenticación HTTP básica cuando llama a tu punto final del servicio web. Utiliza un encabezado de autenticación básica para pasar las credenciales.

Desarrolla tu punto final del servicio web

Para permitir que ShipStation acceda a tu fuente de pedidos para OBTENER y PUBLICAR datos, debes desarrollar tu punto final de tienda personalizada según las especificaciones definidas en esta guía.

Llamada para OBTENER

ShipStation realizará una llamada para OBTENER una API con el fin de obtener información de pedidos de la tienda conectada. 

ShipStation solicitará la información del pedido al punto final del servicio web que expongas. Debe renderizar XML que se adhiera a la especificación definida en las siguientes secciones.

OBTENER URL del punto final

ShipStation utilizará el siguiente formato de URL cuando solicite información de pedidos desde el punto final del servicio web que desarrolles:

[Your Web Endpoint]?action=export&start_date=[Start Date]&end_date=[End Date]&page=1 [Your Web Endpoint]?action=export&start_date=[Start Date]&end_date=[End Date]&page=1

Llamada para OBTENER los parámetros de URL

Parámetros URL

Descripción

Acción

Este valor siempre será "exportar" cuando ShipStation esté solicitando información de pedidos.

start_date

La fecha de inicio con UTC como zona horaria.Formato: dd/MM/aaaa HH:mm (formato de 24 horas).

Por ejemplo: 23/03/2012 21:09

end_date

La fecha de finalización con UTC como zona horaria.El mismo formato que start_date.

Tu página debe devolver los datos de cualquier pedido modificado entre la fecha de inicio y la de finalización, independientemente del estado del pedido. Los datos del pedido deben devolverse en formato XML como se muestra en el siguiente ejemplo. Todos los campos de texto libre deben ir dentro de una sección CDATA para evitar errores de análisis.

Una sección CDATA comienza con "<![CDATA[" y termina con "]]>".

Paginado

Para tiendas con cientos o miles de pedidos al día, recomendamos paginar los resultados. Para ello, elige el número máximo de registros a devolver con cada respuesta. A continuación, incluye el número total de páginas como atributo en el elemento Pedidos del nivel de raíz.

En la primera solicitud a tu punto final, ShipStation agregará un parámetro URL llamado "página". Por ejemplo:

https://www.yourstore.com/shipstationxml.php?action=export&start_date=01%2f23%2f2012+17%3a28&end_date=01%2f23%2f2012+17%3a33&page=1 

Si el nodo Pedidos indica que hay páginas adicionales, ShipStation solicitará las siguientes páginas hasta que se hayan recuperado todos los pedidos.

Ejemplo para OBTENER el cuerpo de respuesta

A continuación, se muestra un ejemplo del cuerpo de respuesta XML que ShipStation espera cuando se realiza una llamada para OBTENER información sobre un pedido. Puedes encontrar definiciones detalladas de los campos en la Guía de referencia de Tiendas personalizadas.

<?xml version="1.0" encoding="utf-8"?>
<Orders pages="1">
  <Order>
    <OrderID><![CDATA[123456]]></OrderID>
    <OrderNumber><![CDATA[ABC123]]></OrderNumber>
    <OrderDate>10/18/2019 21:56 PM</OrderDate>
    <OrderStatus><![CDATA[paid]]></OrderStatus>
    <LastModified>12/8/2011 12:56 PM</LastModified>
    <ShippingMethod><![CDATA[USPSPriorityMail]]></ShippingMethod>
    <PaymentMethod><![CDATA[Credit Card]]></PaymentMethod>
    <CurrencyCode>EUR</CurrencyCode> 
    <OrderTotal>123.45</OrderTotal>
    <TaxAmount>0.00</TaxAmount>
    <ShippingAmount>4.50</ShippingAmount>
    <CustomerNotes><![CDATA[Please make sure it gets here by Dec. 22nd!]]></CustomerNotes>
    <InternalNotes><![CDATA[Ship by December 18th via Priority Mail.]]></InternalNotes>
    <Gift>false</Gift>
    <GiftMessage></GiftMessage>
    <CustomField1></CustomField1>
    <CustomField2></CustomField2>
    <CustomField3></CustomField3>
    <Customer>
      <CustomerCode><![CDATA[customer@mystore.com]]></CustomerCode>
      <BillTo>
        <Name><![CDATA[The President]]></Name>
        <Company><![CDATA[US Govt]]></Company>
        <Phone><![CDATA[512-555-5555]]></Phone>
        <Email><![CDATA[customer@mystore.com]]></Email>
      </BillTo>
      <ShipTo>
        <Name><![CDATA[The President]]></Name>
        <Company><![CDATA[US Govt]]></Company>
        <Address1><![CDATA[1600 Pennsylvania Ave]]></Address1>
        <Address2></Address2>
        <City><![CDATA[Washington]]></City>
        <State><![CDATA[DC]]></State>
        <PostalCode><![CDATA[20500]]></PostalCode>
        <Country><![CDATA[US]]></Country>
        <Phone><![CDATA[512-555-5555]]></Phone>
      </ShipTo>
    </Customer>
    <Items>
      <Item>
        <SKU><![CDATA[FD88821]]></SKU>
        <Name><![CDATA[My Product Name]]></Name>
        <ImageUrl><![CDATA[http://www.mystore.com/products/12345.jpg]]></ImageUrl>
        <Weight>8</Weight>
        <WeightUnits>Ounces</WeightUnits>
        <Quantity>2</Quantity>
        <UnitPrice>13.99</UnitPrice>
        <Location><![CDATA[A1-B2]]></Location>
        <Options>
          <Option>
            <Name><![CDATA[Size]]></Name>
            <Value><![CDATA[Large]]></Value>
            <Weight>10</Weight>
          </Option>
          <Option>
            <Name><![CDATA[Color]]></Name>
            <Value><![CDATA[Green]]></Value>
            <Weight>5</Weight>
          </Option>
        </Options>
      </Item>
      <Item>
        <SKU></SKU>
        <Name><![CDATA[$10 OFF]]></Name>
        <Quantity>1</Quantity>
        <UnitPrice>-10.00</UnitPrice>
        <Adjustment>true</Adjustment>
      </Item>
    </Items>
  </Order>
</Orders>

Llamada para PUBLICAR

La llamada para PUBLICAR permite que ShipStation publique la información de envío de vuelta a tu fuente de pedidos cuando envías pedidos.

ShipStation se pondrá en contacto con el mismo punto final del servicio web cuando se envíe un pedido para que tu sistema reciba la notificación de que el pedido se ha enviado. ShipStation realiza una acción llamada shipNotify cuando envía esta notificación. Tu punto final del servicio web debe ser capaz de determinar cuándo ShipStation está solicitando información del pedido (acción = exportar) y cuándo está enviando una notificación de envío (acción = shipnotify).

Tu punto final del servicio web debe devolver un código de estado HTTP 200 (o 2xx) para indicar que la información de seguimiento se ha recibido correctamente.

PUBLICAR URL del punto final

ShipStation utilizará el siguiente formato de URL cuando envíe información de envío y seguimiento al punto final del servicio web que desarrolles:

[Your Web Endpoint]?action=shipnotify&order_number=[Order Number]&carrier=[Carrier]&service=&tracking_number=[Tracking Number]

Por ejemplo:

https://www.yourstore.com/shipstationxml.php?action=shipnotify&order_number=ABC123&carrier=USPS&service=&tracking_number=9511343223432432432

Aquí tienes una descripción de cada parámetro de la URL:

Parámetro

Descripción

Acción

Cuando se envían notificaciones de envío, el valor siempre será "shipnotify".

order_number

Es el identificador único del pedido.

Empresa de transporte

Códigos API admitidos para los transportistas disponibles:

Empresa de transporte

Código API

99minutos

n9minutos

Access Worldwide

access_worldwide

Airtanss

airtranss

Angel Last Mile

angel_last_mile

APC

APC

Aramex Australia

fastway_au

Aramex AU by ShipStation

aramex_au_walleted

Aramex Nueva Zelanda

fastway_nz

Asendia

Asendia

Australia Post

australia_post

Australia Post eParcel

australia_post

Australia Post MyPost Business

australia_post_mypost_business

B2C Europe

b2c_europe

Mejores camiones

better_trucks

Canada Post

canada_post

Canada Post en ShipStation

canada_post_walleted

Canpar

canpar

Canpar desde ShipStation

canpar_walleted

Castle Parcels

castle_parcels

Chronopost

Chronopost

Colis Prive

colis_prive

Colissimo

Colissimo

Colissimo en ShipStation

colissimo_walleted

CouriersPlease

couriers_please

CouriersPlease by ShipStation

couriersplease_walleted

DAI

dai

Delivengo

Delivengo

Deutsche Post Cross-Border

deutsche_post_cross_border

Deutsche Post DHL

deutsche_post_dhl

DHL eCommerce

dhl_global_mail

DHL eCommerce v2

dhl_ecommerce

DHL Express

dhl_express

DHL Express Australia

dhl_express_australia

DHL Express Canadá

dhl_express_canada

DHL Express Alemania desde ShipStation

dhl_express_de_walleted

DHL Express Reino Unido

dhl_express_uk

Direct Freight

direct_freight

Direct Link

direct_link

DPD

DPD

DPD Francia

dpd_france

DPD Germany

dpd_germany

DPD Alemania desde ShipStation

dpd_germany_walleted

DPD (Irlanda)

dpd_ireland

DPD Local

apicode-dpd-local

DPD Países Bajos

dpd_netherlands

DPD Rumania

dpd_romania

DX

DX

ECMS Standard Express

ECMS

Endicia

Endicia

Envialia

envialia

ePost Global

rr_donnelley

Estafeta

estafeta

Evri Worldwide

evri_international

Evri en ShipStation

Hermes

Evri Reino unido

hermescorp

Express 1

express_1

Fairsenden

fairsenden

FAN

fan

Fastway AU

fastway_au

Fastway NZ

fastway_nz

FedEx

FedEx

FedEx Reino Unido

fedex_uk

FirstMile

FirstMile

FlashBox

FlashBox

GlobalPost

global_post

Globegistics

Globegistics

Glocally

glocally

GLS Canada

gls_canada

GLS Germany

gls_germany

GLS Alemania desde ShipStation

gls_germany_walleted

Grupo ampm

grupo_ampm

Hermes

Hermes

Hermes Germany

hermes_germany

IMEX

IMEX

InPost

inpost

Intelcom CA

intelcom_ca

IntelliQuick Delivery

intelliquick_delivery

International Bridge

international_bridge

Landmark Global

landmark_global

Landmark Global

landmark_global_ca

Lasership

Lasership

Lettre Suivie (La Poste)

lettre_suivie

Loomis Express

loomis_express

LSO

LSO

Mercado Libre Shipping

mercado_libre_shipping

Metroland Parcel Services (MPS)

metroland

Mondial Relay

mondial_relay

Nationex

Nationex

New Zealand CourierPost

courierpost

New Zealand Couriers

new_zealand_couriers

NZ Post Nacional

courierpost

NZ Post International

new_zealand_post_international

Newgistics

Newgistics

Nova Poshta

nova_poshta

NOW Couriers

NOW Couriers

OnTrac

OnTrac

Parcelforce

Parcelforce

Parcll

parcll

Post Haste

post_haste

Posta Slovenije

posta_slovenije

Poste Italiane

poste_italiane

Purolator Canadá

purolator_ca

Purolator en ShipStation

purolator_walleted

Quantium

quantium

Red je Pakketje

red_je_pakketje

Rivo

Rivo

Royal Mail

royal_mail

RR Donnelley

rr_donnelley

SEKO LTL by ShipStation

seko_ltl_walleted

SEKO Omni-Channel Logistics

SEKO

SEKO Omni-Channel Logistics CA

seko_ca

SEKO Omni-Channel Logistics US

seko_us

Sendle

Sendle

Seven Senders

seven_senders

Shippie

Shippie

StarTrack

star_track

Swyft

Swyft

The Delivery Group (Reino Unido)

the_delivery_group_uk

TNT Australia

tnt_australia

TNT UK

tnt_uk

Toll IPEC

toll_ipec

Toll Priority

toll_priority

Tusk

tusk

UPS

UPS

UPS Mail Innovations

ups_mail_innovations

Urb-it

urb_it

USPS

USPS

Via Delivery

via_delivery

Whistl

Whistl

Wizmo

Wizmo

Yodel

Yodel

Servicio

Este será el nombre del servicio de envío que se utilizó para enviar el pedido.

tracking_number

Este es el número de seguimiento del paquete.

Ejemplo de la PUBLICACIÓN del cuerpo de solicitud

A continuación, se muestra un ejemplo del cuerpo de solicitud XML que se incluirá cuando ShipStation realice una llamada para PUBLICAR para una notificación de envío. Puedes encontrar definiciones detalladas de los campos en la Guía de referencia de Tiendas personalizadas.

<?xml version="1.0" encoding="utf-8"?>
<ShipNotice>
  <OrderNumber>ABC123</OrderNumber>
  <OrderID>123456</OrderID>
  <CustomerCode>customer@mystore.com</CustomerCode>
  <CustomerNotes></CustomerNotes>
  <InternalNotes></InternalNotes>
  <NotesToCustomer></NotesToCustomer>
  <NotifyCustomer></NotifyCustomer>
  <LabelCreateDate>10/19/2019 12:56</LabelCreateDate>
  <ShipDate>10/19/2019</ShipDate>
  <Carrier>USPS</Carrier>
  <Service>Priority Mail</Service>
  <TrackingNumber>1Z909084330298430820</TrackingNumber>
  <ShippingCost>4.95</ShippingCost>
  <CustomField1></CustomField1>
  <CustomField2></CustomField2>
  <CustomField3></CustomField3>
  <Recipient>
    <Name>The President</Name>
    <Company>US Govt</Company>
    <Address1>1600 Pennsylvania Ave</Address1>
    <Address2></Address2>
    <City>Washington</City>
    <State>DC</State>
    <PostalCode>20500</PostalCode>
    <Country>US</Country>
  </Recipient>
  <Items>
    <Item>
      <SKU>FD88821</SKU>
      <Name>My Product Name</Name>
      <Quantity>2</Quantity>
      <LineItemID>25590</LineItemID>
    </Item>
  </Items>
</ShipNotice> 

Conectarse a ShipStation

Conectar una tienda personalizada a ShipStation funciona de la misma manera que agregar cualquier otra integración directa de tienda. Consulta las instrucciones detalladas a continuación.

Agregar una tienda personalizada como canal de venta

Para conectar tu tienda personalizada a ShipStation:

  1. Elige la opción Tienda personalizada.

    Mosaico de conexión de la tienda personalizada ShipStation
  2. Ingresa la información solicitada en el formulario y prueba tu conexión utilizando el botón Probar conexión.

    La siguiente tabla proporciona detalles sobre los campos del formulario en la ventana de conexión:

    Campo

    Descripción

    URL a la Página CML personalizada

    Esta es la ubicación de tu punto final del servicio web.Se recomienda HTTPS.

    Estado no pagado

    Este es el nombre del estado en tu sistema que indica que un pedido aún no se ha pagado y aún no está listo para ser enviado.

    Puedes separar varios estados con una coma.

    Estado Pagado

    Este es el nombre del estado en tu sistema que indica que un pedido está pagado y listo para ser enviado.

    Estado Enviado

    Este es el nombre del estado en tu sistema que indica que un pedido ha sido enviado.

    Estado Cancelado

    Este es el nombre del estado en tu sistema que indica que un pedido ha sido cancelado.

    Estado En Espera

    Este es el nombre del estado en tu sistema que indica que un pedido está en espera.

Los campos de estado asignan los estados de tus pedidos a los estados de pedidos de ShipStation. Esto determina a dónde se importarán los pedidos en ShipStation. Estos campos distinguen entre mayúsculas y minúsculas.

Una vez completada la conexión, ShipStation empezará a comunicarse con tu punto final del servicio web para obtener la información del pedido.

Importar pedidos de la tienda personalizada

ShipStation solicita información de pedidos a tu punto final del servicio web mediante una llamada para OBTENER.

Los usuarios de ShipStation pueden activar las actualizaciones de la tienda manualmente pasando el mouse sobre el ícono de importación Ícono Importar o ícono Actualizar tiendas. Símbolo de flecha circular gris (en el sentido de las agujas del reloj), dentro de un cuadrado negro. y optando por actualizar todas las tiendas o tiendas individuales.

Además, los usuarios pueden activar una función de actualización automática para que ShipStation importe periódicamente los pedidos de una tienda de forma automática. La frecuencia de actualización automática depende del historial de actualizaciones manuales del usuario y de otros factores.

Enviar notificaciones de envío

De manera predeterminada, ShipStation utiliza una llamada para PUBLICAR para enviar notificaciones de envío a tu punto final del servicio web cada vez que se crea una etiqueta en ShipStation.

Estas notificaciones pueden retrasarse, si el usuario lo prefiere, configurando las opciones de Notificación en la ventana Configuración de tienda personalizada.

Si el usuario de ShipStation crea etiquetas fuera de ShipStation, puede elegir la acción Marcar como enviado dentro de ShipStation, que moverá el pedido al estado Enviado en ShipStation y también enviará una notificación de envío a tu punto final del servicio web.

Guía de referencia de tiendas personalizadas

Esta sección incluye las definiciones de los campos Información del pedido y ShipNotify y el esquema XML para validar la información del pedido.

Definiciones de campo de información del pedido

* Indica campos obligatorios

Nombre

XPath

Máximo permitido

Tipo

Longitud

Descripción

Pedidos *

Pedidos

1

Contenedor

N/A

Nodo raíz

Pedido *

Pedidos/Pedido

Ilimitado

Contenedor

N/A

Nodo de contenedor para un pedido individual

ID de pedido *

Pedidos/Pedido/IDdelPedido

1 por pedido

Cadena

N/A

Identificador único para un pedido. No se muestra a nadie.

Número de pedido *

Pedidos/Pedido/NúmeroDePedido

1 por pedido

Cadena

1...50

Número de pedido visible para el usuario.Este valor puede ser el mismo que la ID del pedido.

Fecha del pedido *

Pedidos/Pedido/FechaDePedido

1 por pedido

Fecha/Hora

16

Fecha en la que se realizó el pedido. Formato: dd/MM/aaaa HH:mm. Se permite el formato de 12 y 24 horas. El valor predeterminado es UTC si no se ha especificado una zona horaria.

Estado del pedido *

Pedidos/Pedido/EstadoDelPedido

1 por pedido

Cadena

1---50

El estado del pedido en tu sistema. Podrás asignar este estado a un estado de ShipStation cuando conectes tu punto final del servicio web como Canal de Venta dentro de ShipStation.

Última modificación *

Pedidos/Pedido/ÚltimaModificación

1 por pedido

Fecha/Hora

16

La última vez que se modificó el pedido en tu sistema. Formato: dd/MM/aaaa HH:mm. El valor predeterminado es UTC si no se ha especificado una zona horaria.

Método de envío

Pedidos/Pedido/MétodoDeEnvío

1 por pedido

Cadena

0...100

Recomendado si conoces el método de envío que se utilizará para enviar el pedido. ShipStation puede asignar tus métodos de envío a servicios reales.

Método de pago

Pedidos/Pedido/MétodoDePago

1 por pedido

Cadena

0...50

Forma de pago del pedido (por ejemploPayPal, cheque, giro postal)

Código de la divisa

Pedidos/Pedido/CódigoDeDivisa

1 por pedido

Cadena

3

Debe ser el código de la divisa ISO 4217 (USD, EUR, etc.)

Total del pedido *

Pedidos/Pedido/TotalDelPedido

1 por pedido

Decimal

9,2 (Precisión, Escala)

Importe total del pedido. (Nueve dígitos en total; hasta 7 dígitos antes del punto decimal y hasta 2 después.)

Monto del impuesto

Pedidos/Pedido/MontoDelImpuesto

1 por pedido

Decimal

9.2

Importe del impuesto, si lo hay.

Importe del envío *

Pedidos/Pedido/ImporteDelEnvío

1 por pedido

Decimal

9.2

Importe del envío.

Notas del cliente

Pedidos/Pedido/NotasDelCliente

1 por pedido

Cadena

0...1000

Notas dejadas por el cliente al realizar el pedido.

Notas internas

Pedidos/Pedido/NotasInternas

1 por pedido

Cadena

0...1000

Notas privadas que solo ve tu empresa.

Obsequio

Pedidos/Pedido/Regalo

1 por pedido

Bool

"verdadero" si este pedido es un regalo

Mensaje de regalo

Pedidos/Pedido/MensajeDelRegalo

1 por pedido

Cadena

0...1000

Contiene el mensaje de regalo del cliente.

Campo personalizado 1

Pedidos/Pedido/Campo1DelCliente

1 por pedido

Cadena

0...100

Campo personalizado que aparecerá en la cuadrícula de Pedidos de ShipStation. También se puede utilizar en los criterios de los filtros y reglas de automatización de ShipStation.

Campo personalizado 2

Pedidos/Pedido/Campo2DelCliente

1 por pedido

Cadena

0...100

Campo personalizado 2

Campo personalizado 3

Pedidos/Pedido/Campo3DelCliente

1 por pedido

Cadena

0...100

Campo personalizado 3

Almacén solicitado

Pedidos/Pedido/AlmacénSolicitado

1 por pedido

Cadena

0...100

Enviar desde ubicación (debe coincidir con Nombre)

Fuente

Pedidos/Pedido/Origen

1 por pedido

Cadena

0...50

Origen del pedido (por ejemploeBay, US, Amazon, Buy.com)

Cliente *

Pedidos/Pedido/Cliente

1 por pedido

Contenedor

N/A

Nodo contenedor de la información del cliente.

Código del cliente *

Pedidos/Pedido/Cliente/CódigoDelCliente

1 por pedido

Cadena

1...50

Un identificador único del cliente en tu sistema. Suele ser un nombre de usuario o una dirección de correo electrónico.

Facturar a *

Pedidos/Pedido/Cliente/FacturarA

1 por pedido

Contenedor

N/A

Nodo contenedor de la información de facturación del cliente.

Nombre*

Pedidos/Pedido/Cliente/FacturarA/Nombre

1 por pedido

Cadena

1...100

El nombre de facturación.

Compañía

Pedidos/Pedido/Cliente/FacturarA/Empresa

1 por pedido

Cadena

1...100

La empresa de facturación.

Teléfono

Pedidos/Pedido/Cliente/FacturarA/Teléfono

1 por pedido

Cadena

0...50

El teléfono de facturación.

Correo electrónico

Pedidos/Pedido/Cliente/FacturarA/CorreoElectrónico

1 por pedido

Cadena

0...100

Recomendado para que ShipStation pueda notificar al comprador el envío de un pedido.

Enviar a *

Pedidos/Pedido/Cliente/EnviarA

1 por pedido

Contenedor

N/A

Nodo contenedor para la información de envío del cliente.

Nombre*

Pedidos/Pedido/Cliente/EnviarA/Nombre

1 por pedido

Cadena

1...100

Nombre del destinatario.

Compañía

Pedidos/Pedido/Cliente/EnviarA/Empresa

1 por pedido

Cadena

1...100

Empresa del destinatario.

Dirección 1 *

Pedidos/Pedido/Cliente/EnviarA/Dirección1

1 por pedido

Cadena

1...200

Línea 1 de la dirección del destinatario.

Dirección 2

Pedidos/Pedido/Cliente/EnviarA/Dirección2

1 por pedido

Cadena

1...200

Dirección 2 del destinatario.

Ciudad *

Pedidos/Pedido/Cliente/EnviarA/Ciudad

1 por pedido

Cadena

1...100

Ciudad del destinatario.

Estado *

Pedidos/Pedido/Cliente/EnviarA/Estado

1 por pedido

Cadena

2...100

Las direcciones de EE. UU. y Canadá requieren el código de estado/territorio de 2 caracteres.

Código postal *

Pedidos/Pedido/Cliente/EnviarA/CódigoPostal

1 por pedido

Cadena

0...50

Obligatorio para las direcciones nacionales y muchas direcciones internacionales.

País *

Pedidos/Pedido/Cliente/EnviarA/País

1 por pedido

Cadena

2

Código de país ISO 3116-1 de 2 caracteres.

Teléfono

Pedidos/Pedido/Cliente/EnviarA/Teléfono

1 por pedido

Cadena

0...50

Obligatorio en algunos casos (por ejemploenvíos nocturnos o internacionales).Sin formato específico.

Artículos *

Pedidos/Pedido/Artículos

1 por pedido

Contenedor

Nodo contenedor de los artículos del pedido.

Artículo

Pedidos/Pedido/Artículos/Artículo

Ilimitado

Contenedor

Nodo contenedor de una partida individual del pedido.

ID de línea de pedido

Pedidos/Pedido/Artículos/Artículo/IDdeLíneaDePedido

1 por artículo

Cadena

1...50

Identificador único de la partida.

SKU*

Pedidos/Pedido/Artículos/Artículo/SKU

1 por artículo

Cadena

1...50

Identificador único del producto que se ha pedido.

Nombre*

Pedidos/Pedido/Artículos/Artículo/Nombre

1 por artículo

Cadena

1...200

Nombre del producto

URL de la imagen

Pedidos/Pedido/Artículos/Artículo/URLdeLaImagen

1 por artículo

Cadena

0...500

URL de la imagen del producto

Peso

Pedidos/Pedido/Artículos/Artículo/Peso

1 por artículo

Decimal

9.2

Peso de una única partida.

WeightUnits

Pedidos/Pedido/Artículos/Artículo/UnidadesDePeso

1 por artículo

Enum

El valor debe ser uno de los siguientes: libras, onzas, gramos

Cantidad *

Pedidos/Pedido/Artículos/Artículo/Cantidad

1 por artículo

integer

1...99999

Cantidad de artículos pedidos.

Precio unitario *

Pedidos/Pedido/Artículos/Artículo/PrecioUnitario

1 por artículo

Decimal

9.2

Precio de un solo artículo.

Ubicación

Pedidos/Pedido/Productos/Productos/Localización

1 por artículo

Cadena

0...100

Ubicación del producto en el Almacén

Ajuste

Pedidos/Pedido/Artículos/Artículo/Ajuste

1 por artículo

Bool

"verdadero" si la partida representa un cupón, descuento u otro ajuste. Ten en cuenta que cualquier partida que sea un ajuste debe tener un valor "Precio unitario" negativo.

Opciones

Pedidos/Pedido/Artículos/Artículo/Opciones

1 por artículo

Contenedor

Nota de contenedor para opciones de artículo (por ejemplo,color, tamaño, etc.)

Opción

Pedidos/Pedido/Artículos/Artículo/Opciones/Opción

10 por artículo

Contenedor

Nodo contenedor para un valor de opción individual.

Nombre*

Pedidos/Pedido/Artículos/Artículo/Opciones/Opción/Nombre

1 por opción

Cadena

1...100

El nombre de la opción (por ejemplo,Tamaño).

Valor *

Pedidos/Pedido/Artículos/Artículo/Opciones/Opción/Valor

1 por opción

Cadena

1...100

El valor de la opción (por ejemplo,XL).

Peso

Pedidos/Pedido/Artículos/Artículo/Opciones/Opción/Peso

1 por opción

Decimal

9 (con precisión de 2 decimales)

Si la opción agrega peso al artículo, puedes especificar aquí el peso adicional. Debe estar en las mismas unidades especificadas en unidades de peso. Debe ser el peso adicional para una cantidad única.

Esquema XML para validar la información del pedido

El XML del pedido se validará con el siguiente esquema:

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
 <xs:element name="Orders">  
  <xs:complexType>
   <xs:sequence>
    <xs:element name="Order" maxOccurs="unbounded" minOccurs="0">
     <xs:complexType>
      <xs:all>
       <xs:element type="String50" name="OrderID" minOccurs="0"/>
       <xs:element type="String50" name="OrderNumber"/>
       <xs:element type="DateTime" name="OrderDate"/>
       <xs:element type="String50" name="OrderStatus"/>
       <xs:element type="DateTime" name="LastModified"/>
       <xs:element type="String100" name="ShippingMethod" minOccurs="0"/>
       <xs:element type="String50" name="PaymentMethod" minOccurs="0"/>
       <xs:element type="xs:decimal" name="OrderTotal"/>
       <xs:element type="xs:decimal" name="TaxAmount" minOccurs="0"/>
       <xs:element type="xs:decimal" name="ShippingAmount" minOccurs="0"/>
       <xs:element type="String1000" name="CustomerNotes" minOccurs="0"/>
       <xs:element type="String1000" name="InternalNotes" minOccurs="0"/>
       <xs:element type="xs:boolean" name="Gift" minOccurs="0"/>
       <xs:element type="String1000" name="GiftMessage" minOccurs="0"/>
       <xs:element type="String100" name="CustomField1" minOccurs="0"/> 
       <xs:element type="String100" name="CustomField2" minOccurs="0"/>
       <xs:element type="String100" name="CustomField3" minOccurs="0"/>
       <xs:element type="String100" name="RequestedWarehouse" minOccurs="0"/>
       <xs:element type="String50" name="Source" minOccurs="0" />
       <xs:element name="Customer">   
         <xs:complexType>
          <xs:all>
           <xs:element type="String100" name="CustomerCode"/>
           <xs:element name="BillTo">
             <xs:complexType>
              <xs:all>
               <xs:element type="String100" name="Name"/>
               <xs:element type="String100" name="Company" minOccurs="0"/>
               <xs:element type="String50" name="Phone" minOccurs="0"/>
               <xs:element type="Email" name="Email" minOccurs="0"/>
               <xs:element type="String200" name="Address1" minOccurs="0"/>
               <xs:element type="String200" name="Address2" minOccurs="0"/>
               <xs:element type="String100" name="City" minOccurs="0"/>
               <xs:element type="String100" name="State" minOccurs="0"/>
               <xs:element type="String50" name="PostalCode" minOccurs="0"/>
               <xs:element type="StringExactly2" name="Country" minOccurs="0"/>
              </xs:all>
             </xs:complexType>
           </xs:element>
           <xs:element name="ShipTo">
            <xs:complexType>
              <xs:all>
               <xs:element type="String100" name="Name"/>
               <xs:element type="String100" name="Company" minOccurs="0"/>
               <xs:element type="String200" name="Address1"/>
               <xs:element type="String200" name="Address2" minOccurs="0"/>
               <xs:element type="String100" name="City"/>
               <xs:element type="String100" name="State" minOccurs="0"/>
               <xs:element type="String50" name="PostalCode" minOccurs="1"/>
               <xs:element type="StringExactly2" name="Country"/>
               <xs:element type="String50" name="Phone" minOccurs="0"/>
            </xs:all>
           </xs:complexType>
          </xs:element>
         </xs:all>
        </xs:complexType>
       </xs:element>
       <xs:element name="Items">
        <xs:complexType>
          <xs:sequence>
           <xs:element name="Item" maxOccurs="unbounded" minOccurs="0">
            <xs:complexType>
              <xs:all>
               <xs:element type="String50" name="LineItemID" minOccurs="0"/>
               <xs:element type="String100" name="SKU"/>
               <xs:element type="String200" name="Name"/>
               <xs:element type="xs:boolean" name="Adjustment" minOccurs="0"/>
               <xs:element type="xs:anyURI" name="ImageUrl" minOccurs="0"/>
               <xs:element type="xs:decimal" name="Weight" minOccurs="0"/>
               <xs:element name="WeightUnits" minOccurs="0">
               <xs:simpleType>
               <xs:restriction base="xs:string">
               <xs:patternvalue="pound|pounds|lb|lbs|gram|grams|gm|oz|ounces|Pound|Pounds|Lb|Lbs|Gram|Grams|Gm|Oz|Ounces|POUND|POUNDS|LB|LBS|GRAM|GRAMS|GM|OZ|OUNCES"/>
              </xs:restriction>
             </xs:simpleType>
            </xs:element>
            <xs:element type="xs:int" name="Quantity"/>
            <xs:element type="xs:decimal" name="UnitPrice"/>
            <xs:element type="String100" name="Location" minOccurs="0"/>
            <xs:element name="Options" minOccurs="0">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Option" maxOccurs="100" minOccurs="0">
                    <xs:complexType>
                      <xs:all>
                        <xs:element type="String100" name="Name"/>
                        <xs:element type="String100" name="Value"/>
                        <xs:element type="xs:decimal" name="Weight" minOccurs="0"/>
                     </xs:all>
                    </xs:complexType>
                   </xs:element>
                 </xs:sequence>
                </xs:complexType>
               </xs:element>
              </xs:all>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
          </xs:complexType>
         </xs:element>
        </xs:all>
       </xs:complexType>
      </xs:element>
     </xs:sequence>
     <xs:attribute type="xs:short" name="pages"/>
    </xs:complexType>
   </xs:element>
   <xs:simpleType name="DateTime">  
    <xs:restriction base="xs:string">
     <xs:pattern value="[0-9][0-9]?/[0-9][0-9]?/[0-9][0-9][0-9]?[0-9]? [0-9][0-9]?:[0-9][0-9]?:?[0-9]?[0-9]?. ?[aApP]?[mM]?"/>
  </xs:restriction>
 </xs:simpleType>
 <xs:simpleType name="Email">
  <xs:restriction base="xs:string">
  </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="StringExactly2">
   <xs:restriction base="xs:string">
    <xs:minLength value="2"/>
    <xs:maxLength value="2"/>
   </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="String30">
    <xs:restriction base="xs:string">
      <xs:maxLength value="30"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="String50">
    <xs:restriction base="xs:string">
      <xs:maxLength value="50"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="String100">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="String200">
    <xs:restriction base="xs:string">
      <xs:maxLength value="200"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="String1000">
    <xs:restriction base="xs:string">
      <xs:maxLength value="1000"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>

Definiciones de campo de notificación de envío

Nombre

XPath

Ocurrencia máxima

Tipo

Longitud

Descripción

AvisoDeEnvío

AvisoDeEnvío

1

Contenedor

N/A

Nodo raíz

ID del pedido

AvisoDeEnvío/IDdelPedido

1

Cadena

1...50

Identificador único de un pedido

Número de pedido

AvisoDeEnvío/NúmeroDelPedido

1

Cadena

1...50

Identificador de pedido visible para el usuario.

Código del cliente

AvisoDeEnvío/CódigoDelCliente

1

Cadena

1...50

Un identificador único del cliente en tu sistema. Suele ser un nombre de usuario o una dirección de correo electrónico.

Notas del cliente

AvisoDeEnvío/NotasDelCliente

1

Cadena

0...1000

Notas dejadas por el cliente al realizar el pedido.

Notas internas

AvisoDeEnvío/NotasInternas

1

Cadena

0...1000

Notas privadas que solo ve tu empresa.

Notas para el cliente

AvisoDeEnvío/NotasParaElCliente

1

Cadena

0...1000

Notas públicas a comunicar al cliente.

Notificar al cliente

AvisoDeEnvío/NotificarAlCliente

1

Bool

Si ShipStation envía al cliente un correo electrónico de notificación de envío, este valor será "falso".

Fecha de creación de la etiqueta

AvisoDeEnvío/FechaDeCreaciónDeLaEtiqueta

1

Fecha/Hora

Fecha de creación de la etiqueta de envío.Zona horaria UTC.Formato: MM/dd/aaaa HH:MM.

Fecha de envío

AvisoDeEnvío/FechaDeEnvío

1

Fecha

La fecha en que se enviará el paquete.

Empresa de transporte

AvisoDeEnvío/EmpresaDeTransporte

1

Cadena

0...50

El transportista de envío utilizado (USPS, UPS, FedEx)

Servicio

AvisoDeEnvío/Servicio

1

Cadena

0...50

El servicio de envío utilizado.

Número de seguimiento

AvisoDeEnvío/NúmeroDeSeguimiento

1

Cadena

0...50

El número de seguimiento del paquete.

Costo de envío

AvisoDeEnvío/CostoDelEnvío

1

Decimal

9.2

El coste de envío del paquete.

Destinatario

AvisoDeEnvío/Destinatario

1

Contenedor

N/A

Nodo contenedor de la dirección del destinatario.

Nombre

AvisoDeEnvío/Destinatario/Nombre

1

Cadena

1...100

Nombre del destinatario.

Compañía

AvisoDeEnvío/Destinatario/Compañía

1

Cadena

0...100

Empresa del destinatario.

Dirección 1

AvisoDeEnvío/Destinatario/Dirección1

1

Cadena

1...200

Línea 1 de la dirección del destinatario.

Dirección 2

AvisoDeEnvío/Destinatario/Dirección2

1

Cadena

1...200

Dirección 2 del destinatario.

Ciudad

AvisoDeEnvío/Destinatario/Ciudad

1

Cadena

0...100

Ciudad del destinatario.

Estado

AvisoDeEnvío/Destinatario/Estado

1

Cadena

Las direcciones de EE. UU. y Canadá requieren el código de estado/territorio de 2 caracteres.

Código postal

AvisoDeEnvío/Destinatario/CódigoPostal

1

Cadena

0...50

Obligatorio para las direcciones nacionales y muchas direcciones internacionales.

País

AvisoDeEnvío/Destinatario/País

1

Cadena

2

Código de país de 2 caracteres.

Artículos:

AvisoDeEnvío/Artículos

1

Contenedor

Nodo contenedor para las partidas del envío.

Artículo

AvisoDeEnvío/Artículos/Artículo

Ilimitado

Contenedor

Nodo contenedor para una partida individual del envío.

ID de línea de pedido

AvisoDeEnvío/Artículos/Artículo/IDdeLíneaDePedido

1 por artículo

Cadena

1...50

Identificador único de la partida.

SKU

AvisoDeEnvío/Artículos/Artículo/SKU

1 por artículo

Cadena

1...100

Identificador único del producto enviado.

Nombre

AvisoDeEnvío/Artículos/Artículo/Nombre

1 por artículo

Cadena

1...200

Nombre del producto.

Cantidad

AvisoDeEnvío/Artículos/Artículo/Cantidad

1 por artículo

integer

1...99999

Cantidad de artículos enviados.