Nueva versión de API para gestionar los Usuarios y sus movimientos de saldos.
🛠Url Pruebas : https://api.test.sw.com.mx
🧰 Url Producción : https://api.sw.com.mx
Usuarios
Crear Usuario
Mejora la gestión de tus clientes creando cuentas hijas desde tu cuenta distribuidora. Accede a una vista gráfica en el Portal SW > Clientes para supervisarlas fácilmente.
Endpoint
Método | Ruta |
---|---|
POST | /management/v2/api/dealers/users |
Autenticación y Headers
Header | Value |
---|---|
Authorization | Bearer Token |
Content-Type | application/json |
Parámetros JSON
Propiedad | Tipo | Uso | Descripción |
---|---|---|---|
name | string | Requerido | Nombre del usuario |
taxId | string | Requerido | RFC del usuario |
string | Requerido | Correo del usuario | |
stamps | int | Requerido | Timbres a asignar en la creación |
isUnlimited | boolean | Requerido | Especificar si tendrá timbres ilimitados |
password | string | Requerido | Contraseña del usuario |
notificationEmail | string | Opcional | Correo a donde quieres recibir notificaciones |
phone | string | Opcional | Número de teléfono del usuario |
Políticas para la contraseña
- La contraseña no debe ser igual que el nombre de usuario.
- La contraseña debe incluir al menos una letra mayúscula.
- La contraseña debe incluir al menos una letra minúscula
- La contraseña debe incluir al menos un número.
- La contraseña debe incluir al menos un símbolo (carácter especial).
- La contraseña no debe incluir espacios en blanco.
- La contraseña debe tener mínimo 8 caracteres .
- La contraseña no debe incluir símbolos especiales fuera de lo común.
Los caracteres especiales aceptados son los siguientes:
!@#$%^&*()_+=[{]};:<>|./?,-]
Ejemplo Request
curl --location 'https://api.test.sw.com.mx/management/v2/api/dealers/users' \ --header 'Authorization: Bearer $token' \ --header 'Content-Type: application/json' \ --data-raw '{ "name": "Prueba Usuario V2", "taxId": "XIA190128J61", "email": "correo.example@gmail.com", "stamps": 10, "isUnlimited": false, "password": "SWpass1!", "notificationEmail":"correo.example@gmail.com", "phone": "0000000000" }'
Ejemplo Response
{ "data": { "idUser": "798299e2-0000-0000-91ce-00c1c7693807", "idDealer": "dec88317-0000-0000-9d23-9bb687444600", "name": "Prueba Usuario V2", "taxId": "XIA190128J61", "username": "correo.example@gmail.com", "lastPasswordChange": "2024-04-11T13:29:58.5576372", "email": "correo.example@gmail.com", "isAdmin": false, "profile": 3, "isActive": true, "registeredDate": "2024-04-11T13:29:58.5572504", "accessToken": null, "phone": "0000000000" }, "meta": null, "links": null, "status": "success" }
{ "message": "El email 'correo.example@gmail.com' ya esta en uso.", "status": "error" }
Consulta de Usuarios
Método que proporciona la funcionalidad de consultar una lista de usuarios asociados a un token enviado en la solicitud. Permite filtrar los resultados utilizando una variedad de atributos, lo que posibilita la búsqueda de usuarios con características específicas.
Endpoint
Método | Ruta |
---|---|
GET | /management/v2/api/dealers/users |
Parámetros Query
Propiedad | Uso | Descripción |
---|---|---|
TaxId | Opcional | RFC ligado al Usuario a consultar |
Opcional | Dirección de correo del Usuario a consultar | |
Name | Opcional | Nombre del Usuario a consultar |
IdUser | Opcional | GUID identificador del Usuario |
IsActive | Opcional | Indica si el Usuario es activo o no (true o false) |
Page | Opcional | Página que se extrae en la consulta (Por default = 1) |
PerPage | Opcional | Número de registros que se obtienen por página(Por default = 10 máx. 50) |
Autenticación y Headers
Header | Value |
---|---|
Authorization | Bearer Token |
Ejemplo Request
curl --request GET --url 'https://api.test.sw.com.mx/management/v2/api/dealers/users?Email=correo@example.com&IsActive=true' \ --header 'Authorization: Bearer $token'
Ejemplo Response
{ "data": [ { "idUser": "7300db9e-70d3-0000-0000-d25620290282", "idDealer": "dec88317-0000-0000-9d23-9bb687444600", "name": "Pruebas User", "taxId": "XAXX010101000", "username": "correo@example.com", "lastPasswordChange": "2023-09-01T13:31:36.837", "email": "correo@example.com", "isAdmin": false, "profile": 3, "isActive": true, "registeredDate": "2023-09-01T13:31:38.483", "accessToken": null, "phone": null, "stamps": 91, "isUnlimited": false } ], "meta": { "page": 1, "perPage": 10, "pageCount": 1, "totalCount": 1, "totalPages": 1 }, "links": { "Self": "?page=1&perPage=10&email=correo@example.com&isActive=true", "First": "?page=1&perPage=10&email=correo@example.com&isActive=true", "End": "?page=1&perPage=10&email=correo@example.com&isActive=true" }, "status": "success" }
{ "messageDetail": "Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).", "message": "An exception was thrown while attempting to evaluate a LINQ query parameter expression. See the inner exception for more information. To show additional information call 'DbContextOptionsBuilder.EnableSensitiveDataLogging'.", "status": "error" }
Actualizar Usuario
Realiza la modificación de alguno de los datos de tus cuentas hijas por este método.
Endpoint
Método | Ruta |
---|---|
PUT | /management/v2/api/dealers/users/{userId} |
Autenticación y Headers
Header | Value |
---|---|
Authorization | Bearer Token |
Content-Type | application/json |
Parámetros Path
Propiedad | Uso | Descripción |
---|---|---|
userId | Requerido | ID del usuario a actualizar |
Parámetros JSON
Propiedad | Tipo | Uso | Descripción |
---|---|---|---|
iduser | guid | Requerido | ID del usuario a actualizar |
name | string | Opcional | Nuevo nombre del usuario |
taxId | string | Opcional | Nuevo RFC del usuario |
notificationEmail | string | Opcional | Nuevo correo de notificaciones |
phone | string | Opcional | Nuevo número telefónico del usuario |
isUnlimited | boolean | Opcional | Especificar si tendrá timbres ilimitados |
Ejemplo Request
curl --location --request PUT 'https://api.test.sw.com.mx/management/v2/api/dealers/users/798299e2-0000-0000-91ce-00c1c7693807' \ --header 'Authorization: bearer $token' \ --header 'Content-Type: application/json' \ --data-raw '{ "name": null, "taxId": null, "isUnlimited": false, "iduser":"798299e2-0000-0000-91ce-00c1c7693807", "notificationEmail":"correo.cambio@gmail.com", "phone": "3325115682" }'
Ejemplo Response
{ "data": "798299e2-0000-0000-91ce-00c1c7693807", "meta": null, "links": null, "status": "success" }
{ "message": "No es posible actualizar, los dato enviados son identicos a los actuales", "status": "error" }
Eliminar Usuario
Deshabilita las cuentas de tus clientes que no necesites con este método.
Endpoint
Método | Ruta |
---|---|
DELETE | /management/v2/api/dealers/users/{userId} |
Autenticación y Headers
Header | Value |
---|---|
Authorization | Bearer Token |
Parámetros Path
Propiedad | Uso | Descripción |
---|---|---|
userId | Requerido | ID del usuario a eliminar |
Ejemplo Request
curl --location --request DELETE 'https://api.test.sw.com.mx/management/v2/api/dealers/users/798299e2-0000-0000-91ce-00c1c7693807' \ --header 'Authorization: Bearer $token'
Ejemplo Response
Recibirás un HTTP Code 204 - No Content
{ "message": "El usuario no se puede eliminar, tiene saldo de 6", "status": "error" }
Balance
Consulta de Timbres
Revisa el detalle de los timbres disponibles de la cuenta asociada al token solicitado.
Endpoint
Método | Ruta |
---|---|
GET | /management/v2/api/users/balance |
Autenticación y Headers
Header | Value |
---|---|
Authorization | Bearer Token |
Ejemplo Request
curl --location 'https://api.test.sw.com.mx/management/v2/api/users/balance' \ --header 'Authorization: Bearer $token'
Ejemplo Response
{ "data": { "idUserBalance": "98d97b7b-0000-0000-a090-24840a860a8c", "idUser": "dec88317-0000-4000-9d23-9bb687444600", "stampsBalance": 9284, "stampsUsed": 549, "stampsAssigned": 10000, "isUnlimited": false, "expirationDate": null }, "meta": null, "links": null, "status": "success" }
{ "message": "El usuario no existe", "status": "error" }
Añadir Timbres
Agrega timbres a tus clientes.
Endpoint
Método | Ruta |
---|---|
POST | /management/v2/api/dealers/users/{userId}/stamps |
Autenticación y Headers
Header | Value |
---|---|
Authorization | Bearer Token |
Content-Type | application/json |
Parámetros Path
Propiedad | Tipo | Uso | Descripción |
---|---|---|---|
userId | guid | Requerido | ID del usuario |
Parámetros JSON
Propiedad | Tipo | Uso | Descripción |
---|---|---|---|
stamps | int | Requerido | Numero de timbres a abonar. |
comment | string | Opcional | Comentario agregado al movimiento. |
Ejemplo Request
curl --location 'https://api.test.sw.com.mx/management/v2/api/dealers/users/d1defb8a-0000-0000-83f2-989458750cfa/stamps' \ --header 'Authorization: bearer $token' \ --header 'Content-Type: application/json' \ --data '{ "stamps": 1, "comment": "Abono de timbres" }'
Ejemplo Response
{ "data": 72,//Total de timbres después del abono "meta": null, "links": null, "status": "success" }
{ "message": "El usuario no fue encontrado.", "status": "error" }
Eliminar Timbres
Remueve timbres a tus clientes.
Endpoint
Método | Ruta |
---|---|
DELETE | /management/v2/api/dealers/users/{userId}/stamps |
Autenticación y Headers
Header | Value |
---|---|
Authorization | Bearer Token |
Content-Type | application/json |
Parámetros Path
Propiedad | Tipo | Uso | Descripción |
---|---|---|---|
userId | guid | Requerido | ID del usuario |
Parámetros JSON
Propiedad | Tipo | Uso | Descripción |
---|---|---|---|
stamps | int | Requerido | Cantidad de timbres a descontar |
comment | string | Opcional | Comentario agregado al movimiento |
Ejemplo Request
curl --location --request DELETE 'https://api.test.sw.com.mx/management/v2/api/dealers/users/d1defb8a-0000-0000-83f2-989458750cfa/stamps' \ --header 'Authorization: bearer $token' \ --header 'Content-Type: application/json' \ --data '{ "stamps": 1, "comment": "Se elimina 1 timbre" }'
Ejemplo Response
{ "data": 71,//Total de timbres despues de remover "meta": null, "links": null, "status": "success" }
{ "message": "El cliente no tiene suficiente saldo para remover esa cantidad de timbres.", "status": "error" }
{ "message": "El usuario no fue encontrado.", "status": "error" }
En SW® somos mejores para TI, es por ello que tu opinión es muy importante, por favor ayúdanos calificando este articulo y dejando tus comentarios.