Monedero Digital

Operaciones de monedero digital

Obtener Configuración de Monedero
POST /wallet/get
Agregar Contacto de Monedero
POST /wallet/contact/add
Obtener Contacto de Monedero
POST /wallet/contact/get
Actualizar Saldo de Monedero
POST /wallet/balance/update
Registrar Venta en Monedero
POST /wallet/sale

The Monedero Digital object

Returned by the monedero digital endpoints.

Attributes
successboolean
resultarray<object>
statusinteger
codestring
Código de respuesta
The Monedero Digital object
{
  "success": true,
  "result": [],
  "status": 200,
  "code": "wallets_get_01"
}

Obtener Configuración de Monedero

POST https://api.smsmasivos.com.mx/wallet/get

Devuelve la configuración de monedero del usuario autenticado

curl https://api.smsmasivos.com.mx/wallet/get
const Monedero Digital = await sms.monederodigital.create()
Monedero Digital = sms.monederodigital.create()
Monedero Digital, err := client.Monederodigital.Create(ctx, nil)
Response
{
  "success": true,
  "result": [
    {
      "wallet_name": "<string>",
      "wallet_key": "<string>",
      "wallet_app_client": "<string>",
      "wallet_plan_type": "<string>"
    }
  ],
  "status": 200,
  "code": "wallets_get_01"
}
{
  "success": false,
  "message": "API Key inválida o no existe.",
  "status": 401,
  "code": "<string>"
}
{
  "success": false,
  "message": "API Key inválida o no existe.",
  "status": 401,
  "code": "auth_05"
}
{
  "success": false,
  "message": "La dirección IP no está autorizada para acceder.",
  "status": 403,
  "code": "auth_04"
}
{
  "success": false,
  "message": "Demasiadas solicitudes. Límite: 100 mensajes/segundo (producción) o 100/día (sandbox).",
  "status": 429,
  "code": "rate_01"
}
{
  "success": false,
  "message": "Error interno del servidor. Contacta a soporte con el request_id.",
  "status": 500,
  "code": "server_01",
  "request_id": "550e8400-e29b-41d4-a716-446655440000"
}

Agregar Contacto de Monedero

POST https://api.smsmasivos.com.mx/wallet/contact/add

Registra un contacto en el monedero digital

Parameters
wallet_keystringrequired
Clave identificadora del monedero
phonestringrequired
Número de teléfono (exactamente 10 dígitos)
customer_namestringrequired
Nombre del contacto
usertool_idintegerrequired
Tool user/collaborator ID
curl https://api.smsmasivos.com.mx/wallet/contact/add \
  -d wallet_key=value \
  -d phone=value \
  -d customer_name=value \
  -d usertool_id=100
const Monedero Digital = await sms.monederodigital.create({
  wallet_key: 'value',
  phone: 'value',
  customer_name: 'value',
  usertool_id: 100,
})
Monedero Digital = sms.monederodigital.create(
    wallet_key="value",
    phone="value",
    customer_name="value",
    usertool_id=100,
)
Monedero Digital, err := client.Monederodigital.Create(ctx, &sms.MonederoDigitalParams{
    WalletKey: sms.String("value"),
    Phone: sms.String("value"),
    CustomerName: sms.String("value"),
    UsertoolId: sms.Int(100),
})
Response
{
  "success": true,
  "message": "<string>",
  "status": 200,
  "code": "<string>"
}
{
  "success": false,
  "message": "API Key inválida o no existe.",
  "status": 401,
  "code": "<string>"
}
{
  "success": false,
  "message": "API Key inválida o no existe.",
  "status": 401,
  "code": "auth_05"
}
{
  "success": false,
  "message": "La dirección IP no está autorizada para acceder.",
  "status": 403,
  "code": "auth_04"
}
{
  "success": false,
  "message": "Demasiadas solicitudes. Límite: 100 mensajes/segundo (producción) o 100/día (sandbox).",
  "status": 429,
  "code": "rate_01"
}
{
  "success": false,
  "message": "Error interno del servidor. Contacta a soporte con el request_id.",
  "status": 500,
  "code": "server_01",
  "request_id": "550e8400-e29b-41d4-a716-446655440000"
}

Obtener Contacto de Monedero

POST https://api.smsmasivos.com.mx/wallet/contact/get

Obtiene el saldo del monedero del contacto

Parameters
wallet_keystringrequired
Clave identificadora del monedero
phonestringoptional
Número de teléfono para filtrar
curl https://api.smsmasivos.com.mx/wallet/contact/get \
  -d wallet_key=value \
  -d phone=value
const Monedero Digital = await sms.monederodigital.create({
  wallet_key: 'value',
  phone: 'value',
})
Monedero Digital = sms.monederodigital.create(
    wallet_key="value",
    phone="value",
)
Monedero Digital, err := client.Monederodigital.Create(ctx, &sms.MonederoDigitalParams{
    WalletKey: sms.String("value"),
    Phone: sms.String("value"),
})
Response
{
  "success": true,
  "message": "<string>",
  "status": 200,
  "code": "<string>"
}
{
  "success": false,
  "message": "API Key inválida o no existe.",
  "status": 401,
  "code": "<string>"
}
{
  "success": false,
  "message": "API Key inválida o no existe.",
  "status": 401,
  "code": "auth_05"
}
{
  "success": false,
  "message": "La dirección IP no está autorizada para acceder.",
  "status": 403,
  "code": "auth_04"
}
{
  "success": false,
  "message": "Demasiadas solicitudes. Límite: 100 mensajes/segundo (producción) o 100/día (sandbox).",
  "status": 429,
  "code": "rate_01"
}
{
  "success": false,
  "message": "Error interno del servidor. Contacta a soporte con el request_id.",
  "status": 500,
  "code": "server_01",
  "request_id": "550e8400-e29b-41d4-a716-446655440000"
}

Actualizar Saldo de Monedero

POST https://api.smsmasivos.com.mx/wallet/balance/update

Agrega o resta saldo del monedero de un contacto

Parameters
wallet_keystringrequired
Clave identificadora del monedero
phonestringrequired
Número de teléfono (numérico)
transaction_typeintegerrequired
0=agregar, 1=canjear
transaction_amountnumberrequired
Monto a agregar o restar
curl https://api.smsmasivos.com.mx/wallet/balance/update \
  -d wallet_key=value \
  -d phone=value \
  -d transaction_type=100 \
  -d transaction_amount=100
const Monedero Digital = await sms.monederodigital.create({
  wallet_key: 'value',
  phone: 'value',
  transaction_type: 100,
  transaction_amount: 100,
})
Monedero Digital = sms.monederodigital.create(
    wallet_key="value",
    phone="value",
    transaction_type=100,
    transaction_amount=100,
)
Monedero Digital, err := client.Monederodigital.Create(ctx, &sms.MonederoDigitalParams{
    WalletKey: sms.String("value"),
    Phone: sms.String("value"),
    TransactionType: sms.Int(100),
    TransactionAmount: sms.Int(100),
})
Response
{
  "success": true,
  "message": "<string>",
  "status": 200,
  "code": "<string>"
}
{
  "success": false,
  "message": "API Key inválida o no existe.",
  "status": 401,
  "code": "<string>"
}
{
  "success": false,
  "message": "API Key inválida o no existe.",
  "status": 401,
  "code": "auth_05"
}
{
  "success": false,
  "message": "La dirección IP no está autorizada para acceder.",
  "status": 403,
  "code": "auth_04"
}
{
  "success": false,
  "message": "Demasiadas solicitudes. Límite: 100 mensajes/segundo (producción) o 100/día (sandbox).",
  "status": 429,
  "code": "rate_01"
}
{
  "success": false,
  "message": "Error interno del servidor. Contacta a soporte con el request_id.",
  "status": 500,
  "code": "server_01",
  "request_id": "550e8400-e29b-41d4-a716-446655440000"
}

Registrar Venta en Monedero

POST https://api.smsmasivos.com.mx/wallet/sale

Procesa una transacción/venta de monedero

Parameters
wallet_keystringrequired
Clave identificadora del monedero
phonestringrequired
Número de teléfono
transaction_typeintegerrequired
0=agregar, 1=canjear
usertool_idintegerrequired
Tool user/collaborator ID
transaction_amountnumberoptional
Amount (required if type=0)
curl -X POST https://api.smsmasivos.com.mx/wallet/sale \
  -H "Content-Type: application/json" \
  -H "apikey: TU_API_KEY" \
  -d '{
    "wallet_key": "wallet_abc123",
    "phone": "525512345678",
    "transaction_type": 0,
    "usertool_id": 1,
    "transaction_amount": 100.00
  }'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.smsmasivos.com.mx/wallet/sale');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'apikey: ' . getenv('SMSMASIVOS_API_KEY')
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
    'wallet_key' => 'wallet_abc123',
    'phone' => '525512345678',
    'transaction_type' => 0,
    'usertool_id' => 1,
    'transaction_amount' => 100.00
]));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
import requests

response = requests.post(
    'https://api.smsmasivos.com.mx/wallet/sale',
    headers={
        'Content-Type': 'application/json',
        'apikey': 'TU_API_KEY'
    },
    json={
        'wallet_key': 'wallet_abc123',
        'phone': '525512345678',
        'transaction_type': 0,
        'usertool_id': 1,
        'transaction_amount': 100.00
    }
)
print(response.json())
const response = await fetch('https://api.smsmasivos.com.mx/wallet/sale', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'apikey': process.env.SMSMASIVOS_API_KEY
  },
  body: JSON.stringify({
    wallet_key: 'wallet_abc123',
    phone: '525512345678',
    transaction_type: 0,
    usertool_id: 1,
    transaction_amount: 100.00
  })
});
const data = await response.json();
console.log(data);
const axios = require('axios');

const { data } = await axios.post(
  'https://api.smsmasivos.com.mx/wallet/sale',
  {
    wallet_key: 'wallet_abc123',
    phone: '525512345678',
    transaction_type: 0,
    usertool_id: 1,
    transaction_amount: 100.00
  },
  {
    headers: {
      'Content-Type': 'application/json',
      'apikey': process.env.SMSMASIVOS_API_KEY
    }
  }
);
console.log(data);
require 'net/http'
require 'json'

uri = URI('https://api.smsmasivos.com.mx/wallet/sale')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri.path, {
  'Content-Type' => 'application/json',
  'apikey' => ENV['SMSMASIVOS_API_KEY']
})
request.body = {
  wallet_key: 'wallet_abc123',
  phone: '525512345678',
  transaction_type: 0,
  usertool_id: 1,
  transaction_amount: 100.00
}.to_json

response = http.request(request)
puts JSON.parse(response.body)
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("apikey", "TU_API_KEY");

var payload = new
{
    wallet_key = "wallet_abc123",
    phone = "525512345678",
    transaction_type = 0,
    usertool_id = 1,
    transaction_amount = 100.00
};

var response = await client.PostAsJsonAsync(
    "https://api.smsmasivos.com.mx/wallet/sale",
    payload
);
var result = await response.Content.ReadFromJsonAsync<JsonElement>();
Console.WriteLine(result);
OkHttpClient client = new OkHttpClient();

String json = "{"
    + "\"wallet_key\":\"wallet_abc123\","
    + "\"phone\":\"525512345678\","
    + "\"transaction_type\":0,"
    + "\"usertool_id\":1,"
    + "\"transaction_amount\":100.00"
    + "}";

Request request = new Request.Builder()
    .url("https://api.smsmasivos.com.mx/wallet/sale")
    .post(RequestBody.create(json, MediaType.parse("application/json")))
    .addHeader("apikey", "TU_API_KEY")
    .build();

Response response = client.newCall(request).execute();
System.out.println(response.body().string());
Response
{
  "success": true,
  "message": "<string>",
  "status": 200,
  "code": "<string>"
}
{
  "success": false,
  "message": "API Key inválida o no existe.",
  "status": 401,
  "code": "<string>"
}
{
  "success": false,
  "message": "API Key inválida o no existe.",
  "status": 401,
  "code": "auth_05"
}
{
  "success": false,
  "message": "La dirección IP no está autorizada para acceder.",
  "status": 403,
  "code": "auth_04"
}
{
  "success": false,
  "message": "Demasiadas solicitudes. Límite: 100 mensajes/segundo (producción) o 100/día (sandbox).",
  "status": 429,
  "code": "rate_01"
}
{
  "success": false,
  "message": "Error interno del servidor. Contacta a soporte con el request_id.",
  "status": 500,
  "code": "server_01",
  "request_id": "550e8400-e29b-41d4-a716-446655440000"
}