#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.

{ "provider_data": { "provider": "Fedex", "API_KEY": "l7ec52ed7bd3e647a58a62c28fee5b619e", "API_SECRET": "4b4c8430610c4b13883ec001bc66d792", "ACCOUNT_NUMBER": "740561073", "SERVICE_TYPE": "FEDEX_EXPRESS_SAVER" }, "shippment_data": { "origen": { "postal": { "codigoPostal": "03940", "calle": "AV INSURGENTES SUR", "numero": "1602", "piso": "18", "departamento": "Of. 801", "localidad": "CDMX", "region": "CDMX", "pais": "MEX", "entreCalle": "" } }, "fecha_alta": "", "tipoServicio": "", "tipo_paquete": "", "id_externo": "", "modalidad_envio":"", "direccion_envio":"", "documento_envio":"carta_porte", "correo": "", "currency": "USD", "type": "1", "destino": { "sucursal": { "id": "1234" }, "postal": { "codigoPostal": "03940", "calle": "AV INSURGENTES SUR", "numero": "1602", "piso": "18", "departamento": "Of. 801", "localidad": "CDMX", "region": "CDMX", "pais": "MEX", "entreCalle": "" } }, "remitente": { "nombreCompleto": "Alberto Lopez", "email": "remitente@andreani.com", "documentoTipo": "", "documentoNumero": "XEXX010101000", "telefonos": "113332244" }, "destinatario": { "nombreCompleto": "Juana Gonzalez", "nombre": "", "apellido": "", "email": "destinatario@andreani.com", "documentoTipo": "", "documentoNumero": "XEXX010101000", "telefonos": "1112345678" }, "productoAEntregar": 2, "bultos": { "kilos": "", "largoCm": "", "altoCm": "", "anchoCm": "", "volumenCm": "", "valorDeclaradoSinImpuestos": "", "valorDeclaradoConImpuestos": "", "detalle": "", "idCliente": "" }, "items": [{ "cantidad": 1, "codigo": "25172119", "tipo_producto": "H87", "kilos": 1.250, "largoCm": "", "altoCm": "", "anchoCm":" ", "volumenCm": "", "valorContraReembolso": "", "valorDeclaradoConImpuestos": 400.00, "sku": "", "descripcion": "Bermuda" }, { "cantidad": 1, "codigo": "25172119", "tipo_producto": "H87", "kilos": 1.250, "largoCm": "", "altoCm": "", "anchoCm":" ", "volumenCm": "", "valorContraReembolso": "", "valorDeclaradoConImpuestos": 500.00, "sku": "", "descripcion": "Camisa" }] } }

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.

{ "response": "Success", "providerStatus": "Creado", "numeroDeEnvio": "794642026988", "hash": null, "sucursalDeDistribucion": { "id": null, "descripcion": "" }, "sucursalDeRendicion": null, "sucursalDeImposicion": null, "numeroDePermisionaria": null, "descripcionServicio": { "carta_porte_status": "success", "description": { "status": "200", "message": "Request Received", "awbNumber": "794693255855" } }, "etiqueta":"JVBERi0xLjQKMSAwIG..." }

#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.
provider: Fedex apiKey: l7ec52ed7bd3e647a58a62c28fee5b619e apiSecret: 4b4c8430610c4b13883ec001bc66d792

RESPONSE

  • providerStatus: Estado del envío.

  • descripcionServicio: Código del estado de envío.

{ "response": "Success", "providerStatus": "Delivered", "numeroDeEnvio": "794978138571", "localizacion": "Santa Fe", "sucursalDeDistribucion": { "id": null, "descripcion": null }, "sucursalDeRendicion": null, "sucursalDeImposicion": null, "numeroDePermisionaria": null, "descripcionServicio": "DL" }