Contactos

Gestión de contactos (CRUD) y polling

Agregar Contacto a Lista
POST /contacts/add
Actualizar Contacto
POST /contacts/update
Eliminar Contacto
POST /contacts/delete
Duplicar Contacto en Otra Lista
POST /contacts/duplicate
Consultar Contactos por Polling
POST /contacts/polling/{action}

The Contacto object

Returned by the contactos endpoints.

Attributes
successboolean
messagestring
Mensaje de estado
statusinteger
codestring
Código de respuesta
callbackobject
Detalles del contacto
The Contacto object
{
  "success": true,
  "message": "contact_added",
  "status": 200,
  "code": "contact_13",
  "callback": {}
}

Agregar Contacto a Lista

POST https://api.smsmasivos.com.mx/contacts/add

Agrega un contacto a una lista de contactos. Si el contacto ya existe en la lista, se actualiza.

Parameters
list_keystringrequired
Key de la lista de contactos
numberstringrequired
Número de teléfono (mín 10 dígitos, solo números)
namestringoptional
Nombre del contacto
emailstringoptional
Email del contacto
curl -X POST https://api.smsmasivos.com.mx/contacts/add \
  -H "Content-Type: application/json" \
  -H "apikey: TU_API_KEY" \
  -d '{
    "list_key": "a1b2c3d4e5f6",
    "number": "525512345678",
    "name": "Juan Pérez",
    "email": "[email protected]"
  }'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.smsmasivos.com.mx/contacts/add');
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([
    'list_key' => 'a1b2c3d4e5f6',
    'number' => '525512345678',
    'name' => 'Juan Pérez',
    'email' => '[email protected]'
]));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
import requests

response = requests.post(
    'https://api.smsmasivos.com.mx/contacts/add',
    headers={
        'Content-Type': 'application/json',
        'apikey': 'TU_API_KEY'
    },
    json={
        'list_key': 'a1b2c3d4e5f6',
        'number': '525512345678',
        'name': 'Juan Pérez',
        'email': '[email protected]'
    }
)
print(response.json())
const response = await fetch('https://api.smsmasivos.com.mx/contacts/add', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'apikey': process.env.SMSMASIVOS_API_KEY
  },
  body: JSON.stringify({
    list_key: 'a1b2c3d4e5f6',
    number: '525512345678',
    name: 'Juan Pérez',
    email: '[email protected]'
  })
});
const data = await response.json();
console.log(data);
const axios = require('axios');

const { data } = await axios.post(
  'https://api.smsmasivos.com.mx/contacts/add',
  {
    list_key: 'a1b2c3d4e5f6',
    number: '525512345678',
    name: 'Juan Pérez',
    email: '[email protected]'
  },
  {
    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/contacts/add')
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 = {
  list_key: 'a1b2c3d4e5f6',
  number: '525512345678',
  name: 'Juan Pérez',
  email: '[email protected]'
}.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
{
    list_key = "a1b2c3d4e5f6",
    number = "525512345678",
    name = "Juan Pérez",
    email = "[email protected]"
};

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

String json = "{"
    + "\"list_key\":\"a1b2c3d4e5f6\","
    + "\"number\":\"525512345678\","
    + "\"name\":\"Juan Pérez\","
    + "\"email\":\"[email protected]\""
    + "}";

Request request = new Request.Builder()
    .url("https://api.smsmasivos.com.mx/contacts/add")
    .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": "contact_added",
  "status": 200,
  "code": "contact_13",
  "callback": {
    "id": 12345,
    "name": "Juan Perez",
    "number": "525512345678",
    "email": "[email protected]",
    "custom_field_1": "<string>",
    "custom_field_2": "<string>",
    "custom_field_3": "<string>",
    "custom_field_4": "<string>",
    "list_id": 100,
    "birthday_date": "<string>",
    "facebook": "<string>",
    "twitter": "<string>",
    "linkedin": "<string>",
    "instagram": "<string>",
    "street": "<string>",
    "zip": "<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 Contacto

POST https://api.smsmasivos.com.mx/contacts/update

Actualiza información de un contacto en una lista

Parameters
list_keystringrequired
Clave de la lista de contactos
numberstringrequired
Número de teléfono
emailstringoptional
Email actualizado
curl -X POST https://api.smsmasivos.com.mx/contacts/update \
  -H "Content-Type: application/json" \
  -H "apikey: TU_API_KEY" \
  -d '{
    "list_key": "a1b2c3d4e5f6",
    "number": "525512345678",
    "email": "[email protected]"
  }'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.smsmasivos.com.mx/contacts/update');
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([
    'list_key' => 'a1b2c3d4e5f6',
    'number' => '525512345678',
    'email' => '[email protected]'
]));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
import requests
response = requests.post(
    'https://api.smsmasivos.com.mx/contacts/update',
    headers={'Content-Type': 'application/json', 'apikey': 'TU_API_KEY'},
    json={'list_key': 'a1b2c3d4e5f6', 'number': '525512345678', 'email': '[email protected]'}
)
print(response.json())
const response = await fetch('https://api.smsmasivos.com.mx/contacts/update', {
  method: 'POST',
  headers: {'Content-Type': 'application/json', 'apikey': process.env.SMSMASIVOS_API_KEY},
  body: JSON.stringify({list_key: 'a1b2c3d4e5f6', number: '525512345678', email: '[email protected]'})
});
const data = await response.json();
console.log(data);
require 'net/http'; require 'json'
uri = URI('https://api.smsmasivos.com.mx/contacts/update')
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 = {list_key: 'a1b2c3d4e5f6', number: '525512345678', email: '[email protected]'}.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 { list_key = "a1b2c3d4e5f6", number = "525512345678", email = "[email protected]" };
var response = await client.PostAsJsonAsync("https://api.smsmasivos.com.mx/contacts/update", payload);
var result = await response.Content.ReadFromJsonAsync<JsonElement>();
Console.WriteLine(result);
OkHttpClient client = new OkHttpClient();
String json = "{\"list_key\":\"a1b2c3d4e5f6\",\"number\":\"525512345678\",\"email\":\"[email protected]\"}";
Request request = new Request.Builder()
    .url("https://api.smsmasivos.com.mx/contacts/update")
    .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": "contact_added",
  "status": 200,
  "code": "contact_13",
  "callback": {
    "id": 12345,
    "name": "Juan Perez",
    "number": "525512345678",
    "email": "[email protected]",
    "custom_field_1": "<string>",
    "custom_field_2": "<string>",
    "custom_field_3": "<string>",
    "custom_field_4": "<string>",
    "list_id": 100,
    "birthday_date": "<string>",
    "facebook": "<string>",
    "twitter": "<string>",
    "linkedin": "<string>",
    "instagram": "<string>",
    "street": "<string>",
    "zip": "<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"
}

Eliminar Contacto

POST https://api.smsmasivos.com.mx/contacts/delete

Elimina un contacto de una lista

Parameters
list_keystringrequired
Clave de la lista de contactos
numberstringrequired
Número de teléfono
emailstringoptional
Filtro por email
curl -X POST https://api.smsmasivos.com.mx/contacts/delete \
  -H "Content-Type: application/json" \
  -H "apikey: TU_API_KEY" \
  -d '{"list_key": "a1b2c3d4e5f6", "number": "525512345678"}'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.smsmasivos.com.mx/contacts/delete');
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([
    'list_key' => 'a1b2c3d4e5f6',
    'number' => '525512345678'
]));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
import requests
response = requests.post(
    'https://api.smsmasivos.com.mx/contacts/delete',
    headers={'Content-Type': 'application/json', 'apikey': 'TU_API_KEY'},
    json={'list_key': 'a1b2c3d4e5f6', 'number': '525512345678'}
)
print(response.json())
const response = await fetch('https://api.smsmasivos.com.mx/contacts/delete', {
  method: 'POST',
  headers: {'Content-Type': 'application/json', 'apikey': process.env.SMSMASIVOS_API_KEY},
  body: JSON.stringify({list_key: 'a1b2c3d4e5f6', number: '525512345678'})
});
const data = await response.json();
console.log(data);
require 'net/http'; require 'json'
uri = URI('https://api.smsmasivos.com.mx/contacts/delete')
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 = {list_key: 'a1b2c3d4e5f6', number: '525512345678'}.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 { list_key = "a1b2c3d4e5f6", number = "525512345678" };
var response = await client.PostAsJsonAsync("https://api.smsmasivos.com.mx/contacts/delete", payload);
var result = await response.Content.ReadFromJsonAsync<JsonElement>();
Console.WriteLine(result);
OkHttpClient client = new OkHttpClient();
String json = "{\"list_key\":\"a1b2c3d4e5f6\",\"number\":\"525512345678\"}";
Request request = new Request.Builder()
    .url("https://api.smsmasivos.com.mx/contacts/delete")
    .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": "contact_deleted",
  "status": 200,
  "code": "contact_12"
}
{
  "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"
}

Duplicar Contacto en Otra Lista

POST https://api.smsmasivos.com.mx/contacts/duplicate

Copia un contacto de una lista a otra

Parameters
current_list_keystringrequired
Clave de lista de contactos origen
new_list_keystringrequired
Clave de lista de contactos destino
contact_idstringrequired
ID del contacto a duplicar
curl https://api.smsmasivos.com.mx/contacts/duplicate \
  -d current_list_key=value \
  -d new_list_key=value \
  -d contact_id=value
const Contacto = await sms.contactos.create({
  current_list_key: 'value',
  new_list_key: 'value',
  contact_id: 'value',
})
Contacto = sms.contactos.create(
    current_list_key="value",
    new_list_key="value",
    contact_id="value",
)
Contacto, err := client.Contactos.Create(ctx, &sms.ContactoParams{
    CurrentListKey: sms.String("value"),
    NewListKey: sms.String("value"),
    ContactId: sms.String("value"),
})
Response
{
  "success": true,
  "message": "contact_added",
  "status": 200,
  "code": "contact_13",
  "callback": {
    "id": 12345,
    "name": "Juan Perez",
    "number": "525512345678",
    "email": "[email protected]",
    "custom_field_1": "<string>",
    "custom_field_2": "<string>",
    "custom_field_3": "<string>",
    "custom_field_4": "<string>",
    "list_id": 100,
    "birthday_date": "<string>",
    "facebook": "<string>",
    "twitter": "<string>",
    "linkedin": "<string>",
    "instagram": "<string>",
    "street": "<string>",
    "zip": "<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"
}

Consultar Contactos por Polling

POST https://api.smsmasivos.com.mx/contacts/polling/{action}

Consulta cambios en contactos. Dispara webhook Zapier con los datos del contacto

Path parameters
actionstringrequired
Tipo de acción
Parameters
list_keystringrequired
Clave de la lista de contactos
contact_idstringrequired
ID del contacto
curl https://api.smsmasivos.com.mx/contacts/polling/value \
  -d list_key=value \
  -d contact_id=value
const Contacto = await sms.contactos.create({
  list_key: 'value',
  contact_id: 'value',
})
Contacto = sms.contactos.create(
    list_key="value",
    contact_id="value",
)
Contacto, err := client.Contactos.Create(ctx, &sms.ContactoParams{
    ListKey: sms.String("value"),
    ContactId: sms.String("value"),
})
Response
{
  "success": true,
  "message": "Ok",
  "status": 200,
  "code": "sms_11",
  "request_id": "550e8400-e29b-41d4-a716-446655440000"
}
{
  "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"
}