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 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é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

  • 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

Response Ok
{
    "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"
}
Response Error
{
    "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étodoRuta
GET/management/v2/api/dealers/users
Para agregar parámetros query, 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’.

Parámetros Query

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)

Autenticación y Headers

HeaderValue
AuthorizationBearer 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

Response Ok
{
    "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"
}
Response Error
{
    "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é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

Parámetros JSON

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
Puedes omitir las propiedades que no vayas a actualizar o simplemente asignarles “null”

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

Response Ok
{
    "data": "798299e2-0000-0000-91ce-00c1c7693807",
    "meta": null,
    "links": null,
    "status": "success"
}
Response Error
{
    "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é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

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

Response Ok
Recibirás un HTTP Code 204 - No Content
Response Error
{
    "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étodoRuta
GET/management/v2/api/users/balance

Autenticación y Headers

HeaderValue
AuthorizationBearer Token

Ejemplo Request

curl --location 'https://api.test.sw.com.mx/management/v2/api/users/balance' \
--header 'Authorization: Bearer $token'

Ejemplo Response

Response Ok
{
    "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"
}
Response Error
{
    "message": "El usuario no existe",
    "status": "error"
}

Añadir Timbres

Agrega timbres a tus clientes.

Endpoint

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

Autenticación y Headers

HeaderValue
Authorization Bearer Token
Content-Typeapplication/json

Parámetros Path

PropiedadTipoUsoDescripción
userIdguidRequeridoID del usuario

Parámetros JSON

PropiedadTipoUsoDescripción
stampsintRequeridoNumero de timbres a abonar.
commentstringOpcionalComentario 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

Response Ok
{
    "data": 72,//Total de timbres después del abono
    "meta": null,
    "links": null,
    "status": "success"
}
Response Error
{
    "message": "El usuario no fue encontrado.",
    "status": "error"
}

Eliminar Timbres

Remueve timbres a tus clientes.

Endpoint

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

Autenticación y Headers

HeaderValue
Authorization Bearer Token
Content-Typeapplication/json

Parámetros Path

PropiedadTipoUsoDescripción
userIdguidRequeridoID del usuario

Parámetros JSON

PropiedadTipoUsoDescripción
stampsintRequeridoCantidad de timbres a descontar
commentstringOpcionalComentario 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

Response Ok
{
    "data": 71,//Total de timbres despues de remover
    "meta": null,
    "links": null,
    "status": "success"
}
Response Saldo Insuficiente
{
    "message": "El cliente no tiene suficiente saldo para remover esa cantidad de timbres.",
    "status": "error"
}
Response 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.

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 abril 12, 2024

Related Articles