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" }