#Fedex
#1. Generar envío
POST /api/shipping/create
El método permite generar un envío.
#provider_data
provider: (Tipo de dato: string). Nombre del OOLL (Fedex). Campo obligatorio.
API_KEY: (Tipo de dato: string). Apikey provista por Fedex. Campo obligatorio.
API_SECRET: (Tipo de dato: string). Api secret provista por Fedex . Campo obligatorio.
ACCOUNT_NUMBER: (Tipo de dato: string). Número de cliente (Customer Number). Campo obligatorio.
SERVICE_TYPE: (Tipo de dato: string). Tipo de servicio. Campo obligatorio.
#shippment_data
REQUEST
origen.postal.calle: (Tipo de dato: string). Campo obligatorio.
origen.postal.numero: (Tipo de dato: string). Campo obligatorio.
origen.postal.localidad: (Tipo de dato: string). Campo obligatorio.
origen.postal.codigoPostal: (Tipo de dato: string). Campo obligatorio.
destino.postal.calle: (Tipo de dato: string). Campo obligatorio.
destino.postal.numero: (Tipo de dato: string). Campo obligatorio.
destino.postal.localidad: (Tipo de dato: string). Campo obligatorio.
destino.postal.codigoPostal: (Tipo de dato: string). Campo obligatorio.
destinatario.nombreCompleto: (Tipo de dato: string). Campo obligatorio.
destinatario.email: (Tipo de dato: string). Campo obligatorio.
destinatario.telefonos: (Tipo de dato: string). Campo obligatorio.
destinatario.nombreCompleto: (Tipo de dato: string). Campo obligatorio.
remitente.nombreCompleto: (Tipo de dato: string). Campo obligatorio.
remitente.email: (Tipo de dato: string). Campo obligatorio.
remitente.telefonos: (Tipo de dato: string). Campo obligatorio.
NOTA: si el envío es con Carta Porte se deben agregar los siguientes campos al request.
documento_envio: (Tipo de dato: string). Identificador de que se envía la información de Carta Porte. En caso afirmativo colocar "carta_porte", sino ""(string vacío). Campo obligatorio si se envía Carta Porte.
origen.postal.pais: (Tipo de dato: string). Código del país de residencia del remitente. Campo obligatorio.
destino.postal.pais: (Tipo de dato: string). Código del país de residencia del destinatario. Campo obligatorio.
currency: (Tipo de dato: string). Código de la moneda utilizada. Campo obligatorio.
remitente.documentoNumero: (Tipo de dato: string). RFC remitente. Campo obligatorio.
destinatario.documentoNumero: (Tipo de dato: string). RFC destinatario. Campo obligatorio.
productoAEntregar: (Tipo de dato: string). Cantidad total de productos enviados. Campo obligatorio.
items: (Tipo de dato: string). Array de productos enviados. Campo obligatorio.
item.cantidad: (Tipo de dato: integer). Cantidad de ese item. Campo obligatorio.
item.codigo: (Tipo de dato: string). Clave de producto. (Ver: http://pys.sat.gob.mx/PyS/catPyS.aspx). Campo obligatorio.
item.kilos: (Tipo de dato: double). Peso en kg hasta con 3 decimales separados por un punto (Ej: 5.250) Campo obligatorio.
item.tipo_producto: (Tipo de dato: integer). Clave de unidad de medida aplicable a la cantidad de bienes o mercancías. (Ver: http://pys.sat.gob.mx/PyS/catUnidades.aspx). Campo obligatorio
item.valorDeclaradoConImpuestos: (Tipo de dato: double). Precio del producto hasta con dos decimales separados por un punto. Campo obligatorio.
item.descripcion: (Tipo de dato: integer). Título o descripción del producto. Campo obligatorio.
RESPONSE
El método devuelve una etiqueta en formato Base 64 y el número de envío.
numeroDeEnvio: Número de transacción.
etiqueta: etiqueta en formato Base 64
descripcionServicio: Si se envió carta porte, se obtendrá el status de la respuesta en este campo.
#2. Obtener tracking (estado de envío)
GET /api/shipping/:id
Este método devuelve el estado del envío.
REQUEST
- id: Número de envío. Va en el id de la url como ruta parametrizada. Campo obligatorio.
Estos campos van en el header:
- provider: Fedex. Campo obligatorio.
- apiKey: Api key provista por Fedex. Campo obligatorio.
- apiSecret: Api secret provista por Fedex. Campo obligatorio.
RESPONSE
providerStatus: Estado del envío.
descripcionServicio: Código del estado de envío.