Client


Representa a un Cliente o comprador de una Company

{warning} Los atributos name, email y phone son protegidos, y sólo los admins pueden ver esos atributos, con excepción de los Providers cuando acceden a un Client a través de una Orden o OrderProvider

Modelo Client

{
    "id": 39,
    "name": "Jose Manuel Salazar",
    "display_name": "user_183",
    "email": "joses@manzanares.com.ve",
    "phone": "+584121179751",
    "avatar_url": "http://127.0.0.1:8000/storage/static/default/avatar_client.png",
    "rating_e2": 450,
    "rating_sum": 27,
    "rating_count": 6,
    "created_at": "2020-04-23 18:28:29",
    "updated_at": "2024-10-27 10:11:12",
    "deleted_at": null,
    "account_id": 183,
    "last_name": null,
    "phone_prefix": "+58",
    "phone_suffix": "4121179751",
    "dni": null,
    "uuid": "CQUQM6Z"
}
Atributo Tipo Descripción
id int -
name string -
display_name string -
email string -
phone string -
avatar_url string\|null -
rating_e2 int -
rating_sum int -
rating_count int -
created_at datetime\|null -
updated_at datetime\|null -
account_id int -
phone_prefix string\|null -
phone_suffix string\|null -
uuid string -

Insertar Client

Método URI Cabeceras
POST /companies/{companyId}/clients N/A
{
    "name": "required|max:64|person_name",
    "last_name": "string|max:64|person_name",
    "phone": "string|min:9",
    "password": "string",
    "email": {
        "required": true,
        "email": "rfc,filter",
        "email_check": true
    },
    "receive_code_via": "string|in:email,phone"
}

Insertar Client de PriceList

Método URI Cabeceras
PUT /companies/{companyId}/price-lists/{priceListId}/clients/{clientId} Authorization

Listar Client

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

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

Listar Client de Admin

Método URI Cabeceras
GET /companies/{companyId}/admins/{adminId}/clients Authorization

Listar Client de PriceList

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

Método URI Cabeceras
GET /companies/{companyId}/price-lists/{priceListId}/clients Authorization

Listar Setting

Método URI Cabeceras
GET /companies/{companyId}/clients/{clientId}/settings Authorization

Mostrar Client

{info} Soporta: Carga dinámica

Método URI Cabeceras
GET /companies/{companyId}/clients/{clientId} Authorization

Actualizar Client

{info} Soporta: Carga dinámica

Método URI Cabeceras
PATCH /companies/{companyId}/clients/{clientId} Authorization
{
    "name": "max:64|person_name",
    "last_name": "max:64|person_name",
    "phone": "",
    "latitude_e6": "integer|between:-90000000,90000000",
    "longitude_e6": "integer|between:-180000000,180000000"
}

Actualizar Setting

Método URI Cabeceras
PATCH /companies/{companyId}/clients/{clientId}/settings Authorization
{
    "dni": "string",
    "born_at": "date",
    "selected_address_id": "integer|exists:client_addresses,id",
    "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"
        }
    ],
    "gender": "string|in:male,female,other",
    "lang": "string|in:en,es",
    "referral_id": {
        "string": true,
        "min": "7",
        "max": "10"
    }
}

Vincular Client

Vincular Client de Admin

Método URI Cabeceras
PUT /companies/{companyId}/admins/{adminId}/clients/{clientId} Authorization

Desvincular Client

Desvincular Client de Admin

Método URI Cabeceras
DELETE /companies/{companyId}/admins/{adminId}/clients/{clientId} Authorization

Sincronizar Client

Sincronizar Client de Admin

Método URI Cabeceras
PUT /companies/{companyId}/admins/{adminId}/clients Authorization
[
    "integer"
]

Eliminar Client

Eliminar Client de PriceList

Método URI Cabeceras
DELETE /companies/{companyId}/price-lists/{priceListId}/clients/{clientId} Authorization

Acciones de Client

Show Me

{info} Soporta: Carga dinámica

Método URI Cabeceras
GET /companies/{companyId}/clients/me Authorization

Upload Avatar

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

Store By Admin

Método URI Cabeceras
POST /companies/{companyId}/admins/{adminId}/clients Authorization
{
    "name": "required|max:64",
    "phone": "string",
    "email": "email:rfc,filter"
}

Index Allowed

Método URI Cabeceras
GET /companies/{companyId}/clients/{clientId}/allowed-settings Authorization

Index For Branch

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

Método URI Cabeceras
GET /companies/{companyId}/branches/{branchId}/clients Authorization

Enlaces de Client