Provider


Provider o rider. También agrupa a los Providers que prestan servicios.

Modelo Provider

{
    "id": 36,
    "name": "José Daniel Gómez Ortíz",
    "display_name": "provider_192",
    "email": "joseg@manzanares.com.ve",
    "phone": "+584147851509",
    "avatar_url": "http://127.0.0.1:8000/storage/companies/69/avatar/avatar_192_1749150879.jpg",
    "status": 1826,
    "rating_e2": 431,
    "rating_sum": 302,
    "rating_count": 70,
    "latitude_e6": 10476281,
    "longitude_e6": -64168386,
    "created_at": "2020-04-27 21:26:00",
    "updated_at": "2025-06-06 12:41:28",
    "deleted_at": null,
    "account_id": 192,
    "is_service_provider": true,
    "is_deliverer": true,
    "is_shopper": true,
    "shopping_count": 0,
    "is_online": false,
    "is_busy": true,
    "profile_data": {
        "profile_extract": null
    },
    "score": {
        "delivery_score": {
            "score": 736,
            "count": 6,
            "badge": null,
            "rank": null,
            "days": 30,
            "is_ranked": false
        },
        "shopping_score": {
            "score": 388.5,
            "count": 6,
            "badge": null,
            "rank": null,
            "days": 30,
            "is_ranked": false
        }
    }
}
Atributo Tipo Descripción
id int -
name string -
display_name string -
email string -
phone string -
avatar_url string\|null -
status int -
rating_e2 int -
rating_sum int -
rating_count int -
latitude_e6 int -
longitude_e6 int -
created_at datetime\|null -
updated_at datetime\|null -
account_id int -
is_status_free bool BitMask (({@link self::status} & 0x1) !== 0)
f1 int BitMask (({@link self::status} & 0xe) >> 1)
is_status_online bool BitMask (({@link self::status} & 0x10) !== 0)
f2 int BitMask (({@link self::status} & 0xe0) >> 5)
is_service_provider bool BitMask (({@link self::status} & 0x100) !== 0)
is_deliverer bool BitMask (({@link self::status} & 0x200) !== 0)
is_shopper bool BitMask (({@link self::status} & 0x400) !== 0)
f3 int BitMask (({@link self::status} & 0x800) >> 11)
shopping_count int BitMask (({@link self::status} & 0xf000) >> 12)
is_busy bool -
is_online bool -
profile_data array -

Insertar Provider

Método URI Cabeceras
POST /companies/{companyId}/providers Authorization
{
    "access_type": "required|string|in:company,branch",
    "access_id": "required|integer",
    "name": "required|max:64",
    "email": "required|email:rfc,filter",
    "phone": "required",
    "status": "integer",
    "profile_data": {
        "extract": "string|max:255",
        "languages": {
            "string": true,
            "max": "255",
            "regex": "/^\w+(,\w+)*$/"
        }
    },
    "is_service_provider": "nullable|boolean",
    "is_deliverer": "nullable|boolean",
    "is_shopper": "nullable|boolean"
}

Insertar GrantAccess

Método URI Cabeceras
POST /companies/{companyId}/providers/{providerId}/grant-access Authorization
{
    "access_type": "required|string|in:company,branch",
    "access_id": "required|integer"
}

Listar Provider

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

Método URI Cabeceras
GET /companies/{companyId}/providers Authorization
{
    "access_type": "string|in:company,branch",
    "access_id": "required_with:access_type"
}

Listar ProvidersInBoundingBox

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

Método URI Cabeceras
GET /companies/{companyId}/providers-in-bounding-box Authorization
{
    "llat": "required|numeric",
    "rlat": "required|numeric",
    "llon": "required|numeric",
    "rlon": "required|numeric"
}

Listar Access

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

Método URI Cabeceras
GET /companies/{companyId}/providers/{providerId}/accesses Authorization

Listar Provider de Order

Método URI Cabeceras
GET /companies/{companyId}/orders/{orderId}/providers Authorization

Mostrar Provider

{info} Soporta: Carga dinámica

Método URI Cabeceras
GET /companies/{companyId}/providers/{providerId} Authorization

Mostrar Statistic

Método URI Cabeceras
GET /companies/{companyId}/providers/{providerId}/statistics Authorization

Actualizar Provider

Método URI Cabeceras
PATCH /companies/{companyId}/providers/{providerId} Authorization
{
    "name": "max:64|person_name",
    "email": "email:rfc,filter",
    "phone": "",
    "latitude_e6": "integer|between:-90000000,90000000",
    "longitude_e6": "integer|between:-180000000,180000000",
    "status": "integer",
    "profile_data": {
        "extract": "string|max:255",
        "languages": {
            "string": true,
            "max": "255",
            "regex": "/^\w+(,\w+)*$/"
        }
    },
    "reported_at": "date",
    "is_service_provider": "nullable|boolean",
    "is_deliverer": "nullable|boolean",
    "is_shopper": "nullable|boolean",
    "settings": {
        "profile_extract": {
            "extract": "string|max:255",
            "languages": {
                "string": true,
                "max": "255",
                "regex": "/^\w+(,\w+)*$/"
            }
        },
        "payout_accounts": [
            {
                "type": "required|string|in:national_bank_account,mobile_payment",
                "document": "required_if:type,national_bank_account|required_if:type,mobile_payment|string|regex:/^[VEJGP].{7,15}$/",
                "name": "required_if:type,national_bank_account|string",
                "account": "required_if:type,national_bank_account|string|min:20",
                "bank_name": "required_if:type,national_bank_account|string|min:3|max:64",
                "bank_code": "required_if:type,mobile_payment|string|size:4",
                "phone": "required_if:type,mobile_payment|string|max:32",
                "email": "nullable|email:rfc,filter"
            }
        ],
        "is_active_forever": "nullable|boolean",
        "pos_serial": {
            "nullable": true,
            "string": true,
            "regex": "/^LP20[2-9]\d(0[1-9]|1[0-2])\d{7}$/"
        },
        "rif": "nullable|string|regex:/^([VEJGP])-?(\d{7,15}(?:-\d)?)$/",
        "invoice_address": "nullable|string|max:255"
    }
}

Eliminar Provider

Eliminar RevokeAccess

Método URI Cabeceras
POST /companies/{companyId}/providers/{providerId}/revoke-access Authorization
{
    "access_type": "required|string|in:company,branch",
    "access_id": "required|integer"
}

Acciones de Provider

Upload Avatar

Método URI Cabeceras
POST /companies/{companyId}/providers/{providerId}/upload-avatar Authorization
{
    "avatar": "required|image|mimes:jpeg,png,bmp|max:2048|dimensions:ratio=1/1"
}

Set Online

Método URI Cabeceras
POST /companies/{companyId}/providers/{providerId}/set-online Authorization

Set Offline

Método URI Cabeceras
POST /companies/{companyId}/providers/{providerId}/set-offline Authorization

Enlaces de Provider