1. Home
  2. SW API´S
  3. API Usuarios V2

API Usuarios V2

Nueva versión de API para gestionar los Usuarios y sus movimientos de saldos.

URL´s

🛠️ Pruebas:
🚀 Productivo:

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étodoRuta
POST/management/v2/api/dealers/users

🔐 Autenticación y Headers

HeaderValue
AuthorizationBearer Token
Content-Typeapplication/json

🧾 Parámetros JSON

PropiedadTipoUsoDescripción
namestring Requerido Nombre del usuario.
taxIdstring Requerido RFC del usuario.
emailstring Requerido Correo del usuario.
stampsint Requerido Timbres a asignar en la creación
isUnlimitedboolean Requerido Especificar si tendrá timbres ilimitados.
passwordstring Requerido Contraseña del usuario.
notificationEmailstring Opcional Correo a donde quieres recibir notificaciones.
phonestring Opcional Número de teléfono del usuario.
Políticas para la contraseña 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"
}
AtributoTipoDescripción
statusStringIndica el estado de la respuesta. Puede ser “success” o “error”.
messageStringSolo aparece en respuestas de error. Describe la razón del error.
dataObject/nullContiene la información del usuario consultado, incluyendo sus datos de registro y configuración.

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étodoRuta
GET/management/v2/api/dealers/users
Se pueden agregar parámetros Query al final del path para aplicar un filtro en la consulta.

🔐 Autenticación y Headers

HeaderValue
AuthorizationBearer Token

📍 Parámetros Query

💡Nota Importante: Para aplicar el uso de filtros en la consulta se pueden agregar parámetros query, el cual comienza con el signo ‘?’ al inicio de la consulta y agrega un ‘&’ para incluir múltiples atributos. Por ejemplo: ‘/management/v2/api/dealers/users?Email=correo@example.com&IsActive=false’.
PropiedadUsoDescripción
TaxIdOpcionalRFC ligado al Usuario a consultar.
EmailOpcionalDirección de correo del Usuario a consultar.
NameOpcionalNombre del Usuario a consultar.
IdUserOpcionalGUID identificador del Usuario.
IsActiveOpcionalIndica si el Usuario es activo o no (true o false).
PageOpcionalPágina que se extrae en la consulta (Por default = 1).
PerPageOpcionalNúmero de registros que se obtienen por página(Por default = 10 máx. 50).

Ejemplo Request

Ejemplo de request para obtener usuarios sin filtro.

curl --request GET 
--url 'https://api.test.sw.com.mx/management/v2/api/dealers/users' \
--header 'Authorization: Bearer $token'
Ejemplos de consultas usando filtros como ID, RFC o varios filtros

Consulta de usuarios por RFC.

curl --location 'http://api.test.sw.com.mx/management/v2/api/dealers/users?TaxId=XIA190128J63' \
--header 'Authorization: bearer $token'

Consulta de usuarios por ID.

curl --location 'http://api.test.sw.com.mx/management/v2/api/dealers/users?IdUser=a8b8881a-3456-481b-96b9-e02fd895f5be' \
--header 'Authorization: bearer $token'

Consulta de usuarios por varios filtros.

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"
}
AtributoTipoDescripción
statusStringIndica el estado de la respuesta. Puede ser “success” o “error”.
messageStringSolo aparece en respuestas de error. Describe la razón del error.
messageDetailStringProporciona detalles adicionales del error cuando existe.
dataArray/nullLista de objetos con información de usuarios. Cada elemento contiene los datos de un usuario registrado.
metaObject/nullContiene información de paginación: página actual, total de elementos, etc.

Actualizar Usuario

Realiza la modificación de alguno de los datos de tus cuentas hijas por este método.

🔗 Endpoint

MétodoRuta
PUT/management/v2/api/dealers/users/{userId}

🔐 Autenticación y Headers

HeaderValue
AuthorizationBearer Token
Content-Typeapplication/json

📍 Parámetros Path

PropiedadUsoDescripción
userIdRequeridoID del usuario a actualizar. Se puede obtener mediante el método de “Consultar usuarios”.

🧾 Parámetros JSON

💡Importante: Puedes omitir las propiedades que no vayas a actualizar o simplemente asignarles “null”.
PropiedadTipoUsoDescripción
iduserguidRequeridoID del usuario a actualizar.
namestringOpcionalNuevo nombre del usuario.
taxIdstringOpcionalNuevo RFC del usuario.
notificationEmailstringOpcionalNuevo correo de notificaciones.
phonestringOpcionalNuevo número telefónico del usuario.
isUnlimitedbooleanOpcionalEspecificar 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"
}
AtributoTipoDescripción
statusStringIndica el estado de la respuesta. Puede ser “success” o “error”.
messageStringSolo aparece en respuestas de error. Describe la razón del error.
dataStringUUID del usuario que fue actualizado exitosamente.

Eliminar Usuario

Deshabilita las cuentas de tus clientes que no necesites con este método.

🔗 Endpoint

MétodoRuta
DELETE/management/v2/api/dealers/users/{userId}

🔐 Autenticación y Headers

HeaderValue
AuthorizationBearer Token

📍 Parámetros Path

PropiedadUsoDescripción
userIdRequeridoID del usuario a eliminar. Se puede obtener mediante el método de “Consultar usuarios”.

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"
}
AtributoTipoDescripción
statusStringIndica el estado de la respuesta.
messageStringSolo aparece en respuestas de error. Describe la razón del 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.

How useful was this post?

Click on a star to rate it!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Updated on agosto 5, 2025

Related Articles