DATOS INICIALES PARA LA INTEGRACIÓN
(Varios locales a la vez)
Por cada local que necesite crear órdenes se debe crear el local con la siguiente información (Pantalla creada especialmente para esta integración):
https://app.fly-deliver.com/#/login
Usuario: xxxxxxx@xxxxxxxxxxx.com (Creada por el usuario)
Contraseña: XXXXXXXXX (Creada por el usuario, pueden cambiarla en cualquier momento)
Fly Delivery ofrece PERSONALMENTE un código único de inscripción especial para tener el acceso a esta sección.


Nombre del local: Nombre que identifica al local o establecimiento
Teléfono de contacto con whatsapp
Ciudad: Elegir una de las que ya el sistema ofrece
Url de Ubicación: URL de Google maps donde se encuentra ubicado el local
Adicional se puede enviar la URL del Webhook (Opcional) que se utiliza para las notificaciones de cambio de estados de las órdenes puedan visualizarse en su propio sistema y notificar a sus usuarios.
AUTENTICACIÓN
Con el objetivo de evitar que se realicen operaciones anónimas en nombre de alguna empresa se debe solicitar autenticación antes de realizar una petición al servicio web, donde el sistema solicita un usuario y una contraseña y devuelve un token, el cual debe ser enviado en todas las peticiones que se realicen para otorgar acceso sobre los datos de una empresa, de no enviarse se rechazará la solicitud.
URL: https://api.dotsy.club/api/TokenAuth/Authenticate
Verbo: HttpPost
Método: Authenticate
Parámetros:
Entrada/Salida | TIPO | Descripción |
ENTRADA | objecto | Objeto JSON que contiene la información del usuario que solicita acceso. |
Descripción de los datos del parámetro:
Nombre | TIPO | Descripción | PRE - ESTABLECIDO | obligatoirio |
userNameOrEmailAddress | texto | Usuario o correo electrónico | xxxx@xxxxxx.com | SI |
password | texto | Contraseña | xxxxxxxxx | SI |
EJEMPLOS:
Ejemplo de invocación:
{
«userNameOrEmailAddress»: «usuario»,
«password»: «Contraseña»
}
RESPUESTA DE AUTENTICACIÓN
Tipo de Respuesta: Objeto JSON
Atributos:
Nombre | TIPO | Descripción |
accessToken | string | Token generado y que debe ser utilizado en próximas peticiones |
encryptedAccessToken | string | Token encriptado |
expireInSeconds | listado | Tiempo en segundos en que expira el token |
userId | objeto | Identificador del usuario |
Nota: El campo accessToken corresponde al dato mas importante en la respuesta de autenticación, ya que es el token que debe ser enviado en todas las peticiones que requieran autenticación, para que el sistema garantice el acceso y otorgue los permisos correspondientes al usuario que realice la solicitud.
EJEMPLOS:
Ejemplo de una respuesta exitosa:
{
«accessToken»:
«eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJCJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZWERTRETYW4»,
«encryptedAccessToken»: «eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJCJodHRwOi4bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZWERTRETYW4»,
«expireInSeconds»: 86400,
«userId»: 1
}
Ejemplo de una respuesta fallida:
{
«result»: null,
«success»: false,
«error»: {
«code»: 0,
«message»: «¡Error de inicio de sesion!»,
«details»: «Usuario o contraseña invalido»
},
«unAuthorizedRequest»: false
}
Para las siguientes invocaciones al servicio web se debe enviar el token obtenido como un parámetro más en los HEADERS de la petición con el nombre Authorization:
Authorization: Bearer
CREAR ORDEN
URL: https://api.dotsy.club/api/order/create-order
Verbo: HttpPost
Parámetros a enviar en el body de la petición:
ENTRADA/SALIDA | TIPO | Descripción |
ENTRADA | objecto | Objeto JSON que contiene la información para crear una orden. |
Descripción de los datos del parámetro:
NOMBRE | TIPO | Descripción | Formato | obligatoirio |
storeId | número | Identificador del local (Solicitar al administrador) | SI | |
salePrice | decimal | Precio de venta | xxxxxxxxxx001 | SI |
deliveryPrice | decimal | Precio de envío | xxx | SI |
fullName | texto | Nombre completo del cliente | xxx | SI |
phoneNumber | texto | Teléfono del cliente | 49 dígitos | NO |
homeUrl | URL de Google maps del domicilio del cliente | } | SI |
EJEMPLOS:
Ejemplo de invocación
{
«storeId»: 2,
«salePrice»: 10,
«deliveryPrice»: 1.50,
«fullName»: «Pedro Pablo Perez»,
«phoneNumber»: «+593 9xxxxx1589»,
«homeUrl»: «https://maps.google.com/maps?q=-78.xxxxx22,-1.2xxxx7»
}
Ejemplo de una respuesta exitosa:
{
«orderId»: 1
}
Ejemplo de una respuesta fallida:
{
«result»: null,
«success»: false,
«error»: {
«code»: 0,
«message»: «Local no encontrado»,
«details»: null
},
«unAuthorizedRequest»: false
}
CONSULTAR ESTADO DE UNA ORDEN
URL: https://api.dotsy.club/api/order/get-status?orderId={order_id}
Verbo: HttpGet
Ejemplo de invocación
https://api.dotsy.club/api/order/get-status?orderId=53
Ejemplo de una respuesta exitosa:
{
«orderId»: 1,
«status»: 3
}
Estados de una orden:
Estado | Descripción |
0 | Cancelada |
1 | Creada |
2 | Recibida por el Vendedor o Local |
3 | Esperando Transporte |
4 | Retirando Pedido |
5 | En camino (hacia la ubicación del cliente) |
6 | Completada |
Ejemplo de una respuesta fallida
{
«result»: null,
«success»: false,
«error»: {
«code»: 0,
«message»: » No existe una órden con el ID 1″,
«details»: null
},
«unAuthorizedRequest»: true
}
WEBHOOK PARA NOTIFICAR ESTADO DE UNA ORDEN
URL: Se debe proporcionar al realizar la integración
Verbo: HttpPost
Descripción de los datos a enviar:
NOMBRE | TIPO | Descripción | Formato | obligatoirio |
storeId | número | Identificador del local o establecimiento | SI | |
orderId | número | Identificador o número de la orden | SI | |
status | número | Estado de la orden | Ver listado de estados en la sección anterior | SI |
Ejemplo de invocación
{
«storeId»: 1,
«orderId»: 2,
«status»: 6
},