BranchGeofence


Una geocerca de un comercio. Si no se especifica branch_id, la geocerca es global para la Company. Define un área segura para realizar pedidos: cualquier pedido que quede fuera de las geocercas habilitadas se rechaza automáticamente. inverted marca una geocerca de exclusión (zona prohibida). Puede llevar tramos de tarifa de envío propios (deliveryFees).

Estructura de Datos

Atributo Tipo Descripción
id int
name string Nombre de la geocerca
type string Tipo de forma de la geocerca (p. ej. polygon, circle)
data GeoShape Forma geométrica de la geocerca
enabled bool Si la geocerca está activa
inverted bool Si es una geocerca de exclusión (zona prohibida)
created_at datetime\|null
updated_at datetime\|null
branch_id int\|null {@link Branch} dueña; nulo si la geocerca es global de la company
company_id int {@link Company} dueña de la geocerca
allLogs ApiLog>
branch Branch\|null {@link Branch} dueña de la geocerca
company Company {@link Company} dueña de la geocerca
deliveryFees DeliveryFee> Tramos de tarifa de envío propios de la geocerca
logs ApiLog>
{
    "id": 12,
    "name": "geofence_1591995180",
    "type": "circle",
    "data": {
        "shape": "circle",
        "radius": 10000,
        "coordinates": [
            -64.177137,
            10.46951
        ]
    },
    "enabled": true,
    "inverted": false,
    "created_at": "2020-06-12 20:53:00",
    "updated_at": "2020-08-01 01:31:56",
    "branch_id": 34
}

Endpoints

Insertar BranchGeofence

Crear geocerca de la compañía

Crea una BranchGeofence global de la company (sin branch_id): name, type, forma (data), enabled, inverted.

Método URI Cabeceras
POST /companies/{companyId}/branch-geofences Authorization
{
    "name": "string|max:64",
    "type": "required|string|in:circle,polygon,multi_polygon,polygon_array",
    "data": {
        "required": true,
        "array": true
    },
    "enabled": "boolean",
    "inverted": "boolean",
    "format": "string|in:flat_lon_lat_e6,flat_lat_lon_e6,flat_lon_lat,flat_lat_lon,point_lon_lat_e6,point_lat_lon_e6,point_lon_lat,point_lat_lon"
}

Insertar BranchGeofence de Branch

Crear geocerca de una sucursal

Crea una BranchGeofence asociada a la Branch indicada.

Método URI Cabeceras
POST /companies/{companyId}/branches/{branchId}/branch-geofences Authorization
{
    "name": "string|max:64",
    "type": "required|string|in:circle,polygon,multi_polygon,polygon_array",
    "data": {
        "required": true,
        "array": true
    },
    "enabled": "boolean",
    "inverted": "boolean",
    "format": "string|in:flat_lon_lat_e6,flat_lat_lon_e6,flat_lon_lat,flat_lat_lon,point_lon_lat_e6,point_lat_lon_e6,point_lon_lat,point_lat_lon"
}

Listar BranchGeofence

Listar BranchGeofence de Branch

{info} Soporta: Paginación Filters Carga dinámica

Listar geocercas de una sucursal

Devuelve las BranchGeofence de la Branch indicada (más las globales de la company).

Método URI Cabeceras
GET /companies/{companyId}/branches/{branchId}/branch-geofences Authorization

Mostrar BranchGeofence

{info} Soporta: Carga dinámica

Mostrar geocerca

Devuelve la BranchGeofence por su id.

Método URI Cabeceras
GET /companies/{companyId}/branch-geofences/{branchGeofenceId} Authorization

Actualizar BranchGeofence

Actualizar geocerca

Modifica name, type, forma (data), enabled e inverted de la BranchGeofence.

Método URI Cabeceras
PATCH /companies/{companyId}/branch-geofences/{branchGeofenceId} Authorization
{
    "name": "string|max:64",
    "type": "string|in:circle,polygon,multi_polygon,polygon_array",
    "data": {
        "required_with": "type",
        "array": true
    },
    "enabled": "boolean",
    "inverted": "boolean",
    "format": "string|in:flat_lon_lat_e6,flat_lat_lon_e6,flat_lon_lat,flat_lat_lon,point_lon_lat_e6,point_lat_lon_e6,point_lon_lat,point_lat_lon"
}

Eliminar BranchGeofence

Eliminar geocerca

Borra la BranchGeofence y sus tramos de tarifa de envío.

Método URI Cabeceras
DELETE /companies/{companyId}/branch-geofences/{branchGeofenceId} Authorization

Acciones de BranchGeofence

Verificar ubicación contra las geocercas

Comprueba si una coordenada cae dentro de las BranchGeofence habilitadas de la company (respetando las de exclusión). Se usa para validar direcciones antes de crear un pedido.

Método URI Cabeceras
GET /companies/{companyId}/branch-geofences/check Authorization
{
    "latitude_e6": "required|integer|between:-90000000,90000000",
    "longitude_e6": "required|integer|between:-180000000,180000000"
}

Verificar ubicación contra las geocercas de una sucursal

Comprueba si una coordenada cae dentro de las BranchGeofence habilitadas de la Branch indicada.

Método URI Cabeceras
GET /companies/{companyId}/branches/{branchId}/branch-geofences/check Authorization
{
    "latitude_e6": "required|integer|between:-90000000,90000000",
    "longitude_e6": "required|integer|between:-180000000,180000000"
}

Listar geocercas de la compañía

{info} Soporta: Paginación Filters Carga dinámica

Devuelve las BranchGeofence de la company (globales y de sus sucursales).

Método URI Cabeceras
GET /companies/{companyId}/branch-geofences Authorization

Reemplazar geocercas desde JSON

Reemplaza el conjunto de BranchGeofence globales de la company por las definidas en el JSON enviado (p. ej. un GeoJSON importado).

Método URI Cabeceras
POST /companies/{companyId}/branch-geofences/replace-from-json Authorization

Reemplazar geocercas de una sucursal desde JSON

Reemplaza el conjunto de BranchGeofence de la Branch por las definidas en el JSON enviado.

Método URI Cabeceras
POST /companies/{companyId}/branches/{branchId}/branch-geofences/replace-from-json Authorization

Relaciones