ProviderRating


Calificación que un Client otorga a un Provider tras completar una asignación (OrderProvider), acotada por service_type. Al guardarse recalcula la reputación del ServiceProfile correspondiente. rate va de 1 a 5; comment es opcional. Un cliente solo puede editar la calificación mientras no tenga comentario.

Estructura de Datos

Atributo Tipo Descripción
id int
rate int Puntuación de 1 a 5
comment string\|null Comentario opcional de la calificación
created_at datetime\|null
updated_at datetime\|null
order_id int\|null {@link Order} de la que surge la calificación
provider_id int {@link Provider} calificado
client_id int\|null {@link Client} que califica
company_id int {@link Company} de la calificación (oculto)
service_type int Código de {@link \App\Models\ServiceType} del servicio calificado
allLogs ApiLog>
client Client\|null {@link Client} que califica
logs ApiLog>
order Order\|null {@link Order} de la que surge la calificación
provider Provider {@link Provider} calificado
rated Provider Entidad calificada (el {@link Provider})
{
    "id": 5,
    "rate": 3,
    "comment": "llegó tarde, exijo reembolso",
    "created_at": "2021-11-29 16:47:56",
    "updated_at": "2021-11-29 16:47:56",
    "order_id": 5395,
    "provider_id": 53,
    "client_id": 74,
    "service_type": 1
}

Endpoints

Insertar ProviderRating

Insertar ProviderRating de OrderProvider

Calificar al repartidor de una asignación

Crea una ProviderRating para el Provider de la asignación (OrderProvider). Notifica al repartidor y recalcula su reputación de perfil. Un cliente solo puede calificar sus propias órdenes.

Método URI Cabeceras
POST /companies/{companyId}/order-providers/{orderProviderId}/provider-ratings Authorization
{
    "rate": "required|integer|min:1|max:5",
    "comment": "string|max:255"
}

Errores de negocio

Código HTTP Cuándo ocurre
EC137 400 El repartidor no coincide con el shopper de la orden (modo compras).

Listar ProviderRating

Listar ProviderRating de Provider

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

Listar calificaciones de un repartidor

ProviderRating recibidas por el Provider indicado.

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

Listar ProviderRating de Order

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

Listar calificaciones de repartidor de una orden

ProviderRating asociadas a la Order indicada.

Método URI Cabeceras
GET /companies/{companyId}/orders/{orderId}/provider-ratings Authorization

Mostrar ProviderRating

{info} Soporta: Carga dinámica

Mostrar calificación de repartidor

Devuelve la ProviderRating por su id.

Método URI Cabeceras
GET /companies/{companyId}/provider-ratings/{providerRatingId} Authorization

Actualizar ProviderRating

Actualizar calificación de repartidor

Modifica rate y comment de la ProviderRating. Un cliente solo puede editarla mientras no tenga comentario.

Método URI Cabeceras
PATCH /companies/{companyId}/provider-ratings/{providerRatingId} Authorization
{
    "comment": "required|string|max:255"
}

Errores de negocio

Código HTTP Cuándo ocurre
EE300 400 La calificación ya tiene un comentario.

Acciones de ProviderRating

Últimas calificaciones del repartidor

Las 5 ProviderRating más recientes del Provider sobre sus perfiles de servicio.

Método URI Cabeceras
GET /companies/{companyId}/providers/{providerId}/provider-ratings/latest Authorization

Relaciones