SIP CallerSIP Caller
Tabla de Contenidos
    Descripción General
    Obteniendo los valores de API_KEY_TOKEN
    Obteniendo los valores de ID_CUENTA y ID_CAMPAÑA
    Listar campañas
    Crear campaña
    Editar campaña
    Duplicar campaña
    Cambiar el estado de una campaña
    Eliminar campañas
    Listar números de campañas
    Agregar números a campañas
    Agregar números a una campaña dinámica
    Agregar números con valores de variables a una campaña dinámica
    Subir archivo CSV con nuevos números para una campaña dinámica
    Agregar números de una lista de contactos a una campaña
    Eliminar números de una campaña
    Obtener detalles de llamadas de campaña
    Obtener detalles de números de campaña
    Listar listas negras
    Crear lista negra
    Editar lista negra
    Eliminar listas negras
    Listar números de una lista negra
    Agregar números a una lista negra
    Eliminar números de una lista negra
    Listar listas de contactos
    Crear lista de contactos
    Editar lista de contactos
    Eliminar listas de contactos
    Listar números de una lista de contactos
    Agregar números a una lista de contactos
    Eliminar números de una lista de contactos

Descripción General

SIP Caller ofrece una API REST que permite a los clientes realizar diferentes operaciones en su cuenta de SIP Caller desde programas externos. De esta manera, se pueden desarrollar muchas integraciones personalizadas útiles entre SIP Caller y otros sistemas.

Obteniendo los valores de API_KEY_TOKEN

Para poder utilizar la API REST, un cliente de SIP Caller primero debe crear una API Key, como se explica en esta sección, para obtener un API_KEY_TOKEN que se utilizará en los siguientes ejemplos para autenticar llamadas a la API REST de SIP Caller desde un programa externo.

Obteniendo los valores de ID_CUENTA y ID_CAMPAÑA

El valor ID_CUENTA del cliente de SIP Caller, que se utilizará en los siguientes ejemplos, se puede obtener desde la consola web, como se muestra a continuación:
Obtener ID de la Cuenta El valor ID_CAMPAÑA de SIP Caller, que se utilizará en los siguientes ejemplos, también se puede obtener desde la consola web, como se muestra a continuación:
Obtener ID de la Campaña

Listar campañas

El siguiente ejemplo muestra cómo listar campañas:

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --get \ --data-urlencode 'filter={"state":"Active"}' \ --data-urlencode 'sort=["name","DESC"]' \ --data-urlencode 'range=[0,99]' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/campaigns'

Las invocaciones permiten especificar filtros, ordenamiento y rango:

  • La instrucción de filtrado puede especificar cualquiera de los siguientes campos:
    • filter={"ids":["id1","id2"]}
    • filter={"name":"Nombre de la campaña"}
    • filter={"phoneSystemId":"id1"}
    • filter={"extensionId":"id1"}
    • filter={"dialer":{"mode":"Power"}} – Modos: Power, Predictive
    • filter={"tagIds_ovl":["tag1","tag2"]}
    • filter={"state":"Active"} – Estados: Draft, Active, Paused, Canceled, Finished
    • filter={"type":"Static"} – Tipo: Static, Dynamic
    • filter={"startDate_gte":"2024-12-01T00:00:00"} – Sufijos gte, gt, lte, lt
    • filter={"endDate_gte":"2024-12-01T00:00:00"} – Sufijos gte, gt, lte, lt
    • filter={"startedAt_gte":"2024-12-01T00:00:00"} – Sufijos gte, gt, lte, lt
    • filter={"endedAt_gte":"2024-12-01T00:00:00"} – Sufijos gte, gt, lte, lt
    • filter={"callflowIds_ctn":"id1"} – Filtra por flujo de llamadas para respuesta humana o contestador automático
    • filter={"callBehavior":{"humanAnswerCallflowId":"id1"}}
    • filter={"callBehavior":{"answeringMachineCallflowId":"id1"}}
    • filter={"webhookEndpointId":"id1"}
    • filter={"isArchived":true}
  • La instrucción de ordenamiento puede especificar cualquiera de los siguientes campos, en orden ascendente (ASC) o descendente (DESC):
    • name
    • state
    • type
    • startDate
    • endDate
    • numbersCount
    • startedAt
    • endedAt

Crear campaña

El siguiente ejemplo muestra cómo crear una nueva campaña:

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ --data-raw '{ "name":"My first campaign", "phoneSystemId":"0199817e-52e0-7079-9585-99a655c2acb3", "extensionId":"93e5cdfc-6e42-4995-8263-9388a9047c29", "tagIds":[], "state":"Draft", "isArchived":false, "numberProvisioning":"Dynamic", "numberSelection":"Fifo", "numberPriority":"RetryPending", "runningPriority":"Normal", "dialer":{ "mode":"Predictive", "intensity":0 }, "callPrefix":"", "ringTimeout":{ "value":30, "unit":"Seconds" }, "maxAttempts":3, "retryIntervals":[ { "value":1, "unit":"Hours" } ], "startDate":"2026-07-27", "endDate":null, "workingTimes":{ "monday":[ { "start":"09:00", "end":"18:00" } ], "tuesday":[ { "start":"09:00", "end":"18:00" } ], "wednesday":[ { "start":"09:00", "end":"18:00" } ], "thursday":[ { "start":"09:00", "end":"18:00" } ], "friday":[ { "start":"09:00", "end":"18:00" } ], "saturday":[ ], "sunday":[ ] }, "timeZoneId":"America/Argentina/Buenos_Aires", "callHandling":{ "$t":"Callflow", "answerTypeDetector":{ "$t":"AmdAgent", "amdAgentId":"019f9cef-4a91-7c97-b7cd-edbb06a5038d", "unknownAnswerTreatment":"Human", "messageForVoicemail":{ "$t":"OnFirstDetection", "callflowId":"019f81ba-a149-731a-a6cb-b47146c5f90d", "isCallRetryEnabled":true } }, "callflowId":"019f9cd5-e8cd-716b-a9a6-37c9db2f97a2", "ttsVoiceId":"azu-en-US-AlloyTurboMultilingualNeural" }, "blackListIds":[ ], "webhookEndpointId":"019af0c3-62d6-70f2-84a1-5ab5671721bb" }' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/campaigns'

El cuerpo de la solicitud acepta los siguientes campos:

  • numberProvisioning – Valores posibles: Dynamic, Static
  • numberSelection – Valores posibles: Fifo, Lifo
  • numberPriority – Valores posibles: RetryPending, NotContacted
  • runningPriority – Valores posibles: High, Normal, Low
  • Dentro de ringTimeout y de cada elemento de retryIntervals, el campo unit puede ser uno de los siguientes: Seconds, Minutes, Hours, Days
  • Dentro de callHandling, el campo $t puede ser uno de los siguientes: Callflow, AiAgent
  • Dentro de answerTypeDetector, el campo $t puede ser uno de los siguientes: Disabled, Standard, AmdAgent
  • unknownAnswerTreatment – Valores posibles: Human, Voicemail
  • Dentro de messageForVoicemail, el campo $t puede ser uno de los siguientes: Never, OnFirstDetection, OnLastAttempt, OnEveryAttempt

Editar campaña

El siguiente ejemplo muestra cómo editar una campaña existente, identificada por CAMPAIGN_ID. El cuerpo de la solicitud acepta los mismos campos que al crear una campaña, pero también debe incluir el campo id con el ID de la campaña:

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request PUT \ --data-raw '{ "id":"ID_CAMPAÑA", "name":"My first campaign", "phoneSystemId":"0199817e-52e0-7079-9585-99a655c2acb3", "extensionId":"93e5cdfc-6e42-4995-8263-9388a9047c29", "tagIds":[], "state":"Draft", "isArchived":false, "numberProvisioning":"Dynamic", "numberSelection":"Fifo", "numberPriority":"RetryPending", "runningPriority":"Normal", "dialer":{ "mode":"Predictive", "intensity":0 }, "callPrefix":"", "ringTimeout":{ "value":30, "unit":"Seconds" }, "maxAttempts":3, "retryIntervals":[ { "value":1, "unit":"Hours" } ], "startDate":"2026-07-27", "endDate":null, "workingTimes":{ "monday":[ { "start":"09:00", "end":"18:00" } ], "tuesday":[ { "start":"09:00", "end":"18:00" } ], "wednesday":[ { "start":"09:00", "end":"18:00" } ], "thursday":[ { "start":"09:00", "end":"18:00" } ], "friday":[ { "start":"09:00", "end":"18:00" } ], "saturday":[ ], "sunday":[ ] }, "timeZoneId":"America/Argentina/Buenos_Aires", "callHandling":{ "$t":"Callflow", "answerTypeDetector":{ "$t":"AmdAgent", "amdAgentId":"019f9cef-4a91-7c97-b7cd-edbb06a5038d", "unknownAnswerTreatment":"Human", "messageForVoicemail":{ "$t":"OnFirstDetection", "callflowId":"019f81ba-a149-731a-a6cb-b47146c5f90d", "isCallRetryEnabled":true } }, "callflowId":"019f9cd5-e8cd-716b-a9a6-37c9db2f97a2", "ttsVoiceId":"azu-en-US-AlloyTurboMultilingualNeural" }, "blackListIds":[ ], "webhookEndpointId":"019af0c3-62d6-70f2-84a1-5ab5671721bb", "lastUpdatedAt":"2026-07-27T12:18:08.149" }' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/campaigns/ID_CAMPAÑA'

El campo lastUpdatedAt debe contener el valor de updatedAt retornado la última vez que la campaña fue obtenida, creada o editada.

Duplicar campaña

El siguiente ejemplo muestra cómo duplicar una campaña que ya existe:

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/campaigns/ID_CAMPAÑA/duplicate?includeNumbers=true&numbersFilter={"status":["NotContacted","Failure"]}'

El parámetro del query-string newCampaignName es opcional y, si no se proporciona, la nueva campaña se nombrará como la campaña original con un número incremental como sufijo. El parámetro includeNumbers también es opcional y, si no se proporciona, la nueva campaña incluirá todos los números. Si includeNumbers se establece como verdadero (true), el parámetro numbersFilter se puede usar para especificar qué números de la campaña original deben incluirse en la nueva campaña. El estado (status) puede incluir cualquiera de los siguientes valores:

  • NotContacted
  • Contacting
  • Blacklisted
  • Success
  • RetryPending
  • Failure

Cambiar el estado de una campaña

El siguiente ejemplo muestra cómo cambiar el estado de una campaña:

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request PUT \ --data-raw '"Active"' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/campaigns/ID_CAMPAÑA/state'

El cuerpo de la solicitud debe ser el nuevo estado entre comillas. Los valores posibles son los siguientes:

  • Active
  • Paused
  • Canceled

Para una descripción de cada estado de campaña y de las transiciones permitidas entre ellos, consulte la sección "Manejando el estado de las campañas" de la página Campañas.

Eliminar campañas

Puedes usar dos métodos de API diferentes para eliminar campañas, según quieras eliminar una o varias:

  1. Para eliminar una sola campaña, puedes usar el siguiente método:
curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request DELETE \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/campaigns/ID_CAMPAÑA'
  1. Para eliminar múltiples campañas en una sola solicitud, puedes usar el siguiente método:
curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request DELETE \ --data-raw '["ID_CAMPAÑA_1","ID_CAMPAÑA_2"]' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/campaigns'

Ten en cuenta que solo se pueden eliminar las campañas en los siguientes estados:

  • Borrador (Draft)
  • Finalizada (Finished)
  • Cancelada (Canceled)

Listar números de campañas

El siguiente ejemplo muestra cómo listar los números de una campaña:

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --get \ --data-urlencode 'filter={"number":"123456789"}' \ --data-urlencode 'sort=["number","DESC"]' \ --data-urlencode 'range=[0,19]' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/campaigns/ID_CAMPAÑA/numbers'

Las invocaciones permiten especificar filtros, ordenamiento y rango:

  • La instrucción de filtrado puede especificar cualquiera de los siguientes campos:
    • filter={"number":"123456789"} – Está permitida la búsqueda parcial de números
    • filter={"status":["NotContacted","Contacting","Blacklisted","Success","RetryPending","Failure"]} – Selecciona tantos estados como necesites
    • filter={"attempts_gt":1} – Más de X intentos
    • filter={"attempts_lt":3} – Menos de X intentos
  • La instrucción de ordenamiento puede especificar cualquiera de los siguientes campos, en orden ascendente (ASC) o descendente (DESC):
    • number
    • attempts

Agregar números a campañas

La API REST ofrece varios métodos para agregar números a una campaña: enviarlos en formato JSON, con o sin valores de variables, subir un archivo CSV o copiarlos desde una lista de contactos. Todos estos métodos siguen las mismas reglas.

Qué campañas pueden recibir nuevos números:

  • Campañas en borrador: se pueden agregar números a cualquier campaña en estado Draft, sin importar su provisión de números (Static o Dynamic).
  • Campañas activas o pausadas: una vez que la campaña está en estado Active o Paused, solo las campañas con provisión de números Dynamic pueden recibir nuevos números.

Cómo se manejan los números duplicados:

  • Campañas en borrador: la misma combinación de número y valores de variables no se puede agregar dos veces, y los duplicados se omiten. El mismo número se puede agregar más de una vez si sus valores de variables son diferentes, ya que se asume que cada registro comunica algo distinto.
  • Campañas dinámicas activas o pausadas: se permiten números y valores de variables duplicados. Las campañas dinámicas suelen ser de larga duración, por lo que cada nuevo registro se considera una llamada independiente, por ejemplo para volver a contactar al mismo cliente.

Agregar números a una campaña dinámica

El siguiente ejemplo muestra cómo agregar un nuevo número a una campaña dinámica que ya está activa:

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ --data-raw '[{"number": "+18005551234"},{"number": "+18005551235"}]' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/campaigns/ID_CAMPAÑA/numbers'

Agregar números con valores de variables a una campaña dinámica

El siguiente ejemplo muestra cómo agregar un nuevo número a una campaña dinámica que ya está activa, incluidos valores de variables que pueden ser utilizados por el flujo de llamada de la campaña:

curl -i \ --globoff \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ --data-raw '[{"number": "+18005551234", "varValues": ["John", "199"]},{"number": "+18005551235", "varValues": ["Jane", "449"]}]' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/campaigns/ID_CAMPAÑA/numbers?varNames=["Name","Amount"]'

El parámetro del query-string varNames es opcional, y en caso de no ser provisto SIP Caller asignará automáticamente los nombres de las variables.

Subir archivo CSV con nuevos números para una campaña dinámica

El siguiente ejemplo muestra cómo cargar un archivo CSV (valores separados por comas) con varios números a una campaña dinámica que ya está activa.
En primer lugar, se debe preparar un archivo CSV que contenga los nuevos números que se agregarán a la campaña. A continuación, se muestra un ejemplo de un archivo CSV con 5 números y sus valores de variable correspondientes:

5550001,John,199  
5550002,Mary,299  
5550003,Susan,149  
5550004,James,300  
5550005,Walter,42

En segundo lugar, el archivo CSV preparado se puede cargar en SIP Caller con el siguiente comando:

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --form "file=@campaign-numbers.csv" \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/campaigns/ID_CAMPAÑA/numbers/upload?firstRowIsHeader=false&varCount=2'

Agregar números de una lista de contactos a una campaña

El siguiente ejemplo muestra cómo agregar todos los números de una lista de contactos existente, identificada por ID_LISTA_CONTACTOS, a una campaña, incluidos sus valores de variables:

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ --data-raw '{"contactListId":"ID_LISTA_CONTACTOS"}' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/campaigns/ID_CAMPAÑA/numbers/copyFromContactList'

Ejemplo de respuesta:

{ "totalNumbers": 2000, "numbersAdded": 2000, "numbersSkipped": 0 }

La respuesta contiene los siguientes campos:

  • totalNumbers: la cantidad total de números de la lista de contactos.
  • numbersAdded: la cantidad de números agregados a la campaña.
  • numbersSkipped: la cantidad de números que no se agregaron por estar duplicados, según lo descrito en la sección Agregar números a campañas.

Eliminar números de una campaña

El siguiente ejemplo muestra cómo eliminar números de una campaña, especificando el ID retornado al obtener la lista de números:

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request DELETE \ --data-raw '[ID_NÚMERO_1,ID_NÚMERO_2,ID_NÚMERO_3]' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/campaigns/ID_CAMPAÑA/numbers'

Los datos enviados permiten especificar múltiples IDs de números. Estos IDs NO son los números. Necesitarás obtener la lista de números de una campaña primero, para obtener el ID de cada registro, y luego eliminarlos.

Sólo se pueden eliminar los números en estos estados:

  • No Contactado: el número aún no ha sido contactado.
  • Reintento Pendiente: el número ha tenido intentos de llamada fallidos y está programado para un reintento. Este se cancelará.

Obtener detalles de llamadas de campaña

El siguiente ejemplo muestra cómo obtener los detalles de llamadas de una campaña:

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --get \ --data-urlencode 'filter={"number":"+18005551000"}' \ --data-urlencode 'sort=["number","ASC"]' \ --data-urlencode 'range=[0,99]' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/campaigns/ID_CAMPAÑA/reports/callDetails'

Las invocaciones permiten especificar filtros, ordenamiento y rango:

  • La instrucción de filtrado puede especificar cualquiera de los siguientes campos:
    • filter={"number":"+18005551000"}
    • filter={"numberPrefix":"9"}
    • filter={"attempt":1}
    • filter={"startedAtLocal_gte":"2024-12-01T00:00:00"} – Sufijos gte, gt, lte, lt
    • filter={"answeredAtLocal_gte":"2024-12-01T00:00:00"} – Sufijos gte, gt, lte, lt
    • filter={"endedAtLocal_gte":"2024-12-01T00:00:00"} – Sufijos gte, gt, lte, lt
    • filter={"ringResult":"Answer"} – Posibles valores: Answer, NoAnswer, Busy, CallError
    • filter={"answerType":"Human"} – Posibles valores: Human, Machine, Unknown
    • filter={"sipResponseCode":200}
    • filter={"endType":"HangUp"} - Posibles valores: HangUp, CallflowComplete, ExecutionError
    • filter={"queueId":"800"}
    • filter={"outcome":"Success"} - Posibles valores: Success, FailureWithNoRetryLeft, FailureWithRetryPending
  • La instrucción de ordenamiento puede especificar cualquiera de los siguientes campos, en orden ascendente (ASC) o descendente (DESC):
    • number
    • attempt
    • startedAtLocal
    • answeredAtLocal
    • endedAtLocal
    • ringResult
    • answerType
    • sipResponseCode
    • endType
    • outcome

Obtener detalles de números de campaña

El siguiente ejemplo muestra cómo obtener los detalles de los números de una campaña:

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --get \ --data-urlencode 'filter={"number":"+18005551000"}' \ --data-urlencode 'sort=["number","ASC"]' \ --data-urlencode 'range=[0,99]' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/campaigns/ID_CAMPAÑA/reports/numberDetails'

Las invocaciones permiten especificar filtros, ordenamiento y rango:

  • La instrucción de filtrado puede especificar cualquiera de los siguientes campos:
    • filter={"number":"+18005551000"}
    • filter={"attempts_gt":1} – Sufijos gte, gt, lte, lt
    • filter={"status":"RetryPending"} - Posibles valores: NotContacted, Contacting, Blacklisted, Success, RetryPending, Failure, Deleted
  • La instrucción de ordenamiento puede especificar cualquiera de los siguientes campos, en orden ascendente (ASC) o descendente (DESC):
    • number
    • attempts

Listar listas negras

El siguiente ejemplo muestra cómo listar listas negras:

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --get \ --data-urlencode 'filter={"name":"BL"}' \ --data-urlencode 'sort=["name","DESC"]' \ --data-urlencode 'range=[0,99]' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/blackLists'

Las invocaciones permiten especificar filtros, ordenamiento y rango:

  • La instrucción de filtrado puede especificar el siguiente campo:
    • filter={"name":"Nombre de la lista negra"}
  • La instrucción de ordenamiento puede especificar el siguiente campo, en orden ascendente (ASC) o descendente (DESC):
    • name

Ejemplo de respuesta:

[ { "id": "01a0dedd-b9a2-729d-8e0a-4e3ad9197aea", "name": "BL1", "numbersCount": 3, "updatedAt": "2026-09-26T17:57:48.064" }, { "id": "01a0dad2-c0a6-7205-8d4e-a2d5f4197825", "name": "BL2", "numbersCount": 8, "updatedAt": "2026-09-25T23:09:37.921" } ]

El campo id de cada registro es el valor BLACK_LIST_ID que se utiliza en los siguientes ejemplos.

Crear lista negra

El siguiente ejemplo muestra cómo crear una nueva lista negra:

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ --data-raw '{"name":"BL1"}' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/blackLists'

Ejemplo de respuesta:

{ "id": "01a0df0c-d237-7bff-8f26-c700f4b30b62", "name": "BL1", "numbersCount": 0, "updatedAt": "2026-09-26T18:49:14.548" }

Editar lista negra

El siguiente ejemplo muestra cómo editar una lista negra existente, identificada por BLACK_LIST_ID:

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request PUT \ --data-raw '{ "id":"ID_LISTA_NEGRA", "name":"BL1 - Updated", "lastUpdatedAt":"2026-09-26T18:49:14.548" }' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/blackLists/ID_LISTA_NEGRA'

El cuerpo de la solicitud debe incluir el campo id con el ID de la lista negra, y el campo lastUpdatedAt con el valor de updatedAt retornado la última vez que la lista negra fue obtenida, creada o editada.

Ejemplo de respuesta:

{ "id": "01a0df0c-d237-7bff-8f26-c700f4b30b62", "name": "BL1 - Updated", "numbersCount": 0, "updatedAt": "2026-09-26T18:55:14.548" }

Eliminar listas negras

El siguiente ejemplo muestra cómo eliminar una o varias listas negras en una sola solicitud:

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request DELETE \ --data-raw '["ID_LISTA_NEGRA_1","ID_LISTA_NEGRA_2"]' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/blackLists'

La respuesta contiene los IDs de las listas negras eliminadas:

["ID_LISTA_NEGRA_1","ID_LISTA_NEGRA_2"]

Listar números de una lista negra

El siguiente ejemplo muestra cómo listar los números de una lista negra:

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --get \ --data-urlencode 'filter={"number":"115555"}' \ --data-urlencode 'sort=["number","DESC"]' \ --data-urlencode 'range=[0,19]' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/blackLists/ID_LISTA_NEGRA/numbers'

Las invocaciones permiten especificar filtros, ordenamiento y rango:

  • La instrucción de filtrado puede especificar el siguiente campo:
    • filter={"number":"115555"} – Está permitida la búsqueda parcial de números
  • La instrucción de ordenamiento puede especificar el siguiente campo, en orden ascendente (ASC) o descendente (DESC):
    • number

Ejemplo de respuesta:

[ { "id": 3, "number": "1155550003", "description": "Do not call" }, { "id": 2, "number": "1155550002", "description": "Do not call" }, { "id": 1, "number": "1155550001", "description": "Do not call" } ]

Agregar números a una lista negra

El siguiente ejemplo muestra cómo agregar nuevos números a una lista negra, con una descripción opcional para cada número:

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ --data-raw '[{"number":"+18005551234","description":"Does not want to be called"}]' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/blackLists/ID_LISTA_NEGRA/numbers'

Ejemplo de respuesta:

[ { "id": 21, "number": "+18005551234", "description": "Does not want to be called" } ]

Eliminar números de una lista negra

El siguiente ejemplo muestra cómo eliminar números de una lista negra, especificando el ID retornado al obtener la lista de números:

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request DELETE \ --data-raw '[ID_NÚMERO_1,ID_NÚMERO_2,ID_NÚMERO_3]' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/blackLists/ID_LISTA_NEGRA/numbers'

Los datos enviados permiten especificar múltiples IDs de números. Estos IDs NO son los números. Necesitarás obtener la lista de números de la lista negra primero, para obtener el ID de cada registro, y luego eliminarlos. La respuesta contiene los IDs de los números eliminados:

[ID_NÚMERO_1,ID_NÚMERO_2,ID_NÚMERO_3]

Listar listas de contactos

El siguiente ejemplo muestra cómo listar listas de contactos:

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --get \ --data-urlencode 'filter={"name":"CL1"}' \ --data-urlencode 'sort=["name","DESC"]' \ --data-urlencode 'range=[0,99]' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/contactLists'

Las invocaciones permiten especificar filtros, ordenamiento y rango:

  • La instrucción de filtrado puede especificar el siguiente campo:
    • filter={"name":"Nombre de la lista de contactos"}
  • La instrucción de ordenamiento puede especificar el siguiente campo, en orden ascendente (ASC) o descendente (DESC):
    • name

Ejemplo de respuesta:

[ { "id": "019ffc4b-1c59-72ed-b15a-cbf81a2b95d9", "name": "CL1", "numbersCount": 1255, "varNames": [ "Customer Name", "Due Balance" ], "updatedAt": "2026-08-13T18:03:28.729" } ]

El campo id de cada registro es el valor CONTACT_LIST_ID que se utiliza en los siguientes ejemplos. El campo varNames contiene los nombres de las variables cuyos valores se almacenan para cada número de la lista de contactos.

Crear lista de contactos

El siguiente ejemplo muestra cómo crear una nueva lista de contactos:

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ --data-raw '{"name":"CL1"}' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/contactLists'

Ejemplo de respuesta:

{ "id": "01a0df17-6fa4-7332-a3c1-d605df53fea2", "name": "CL1", "numbersCount": 0, "varNames": null, "updatedAt": "2026-09-26T19:00:50.21" }

Editar lista de contactos

El siguiente ejemplo muestra cómo editar una lista de contactos existente, identificada por CONTACT_LIST_ID:

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request PUT \ --data-raw '{ "id":"ID_LISTA_CONTACTOS", "name":"CL1 - Updated", "lastUpdatedAt":"2026-09-26T19:00:50.21" }' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/contactLists/ID_LISTA_CONTACTOS'

El cuerpo de la solicitud debe incluir el campo id con el ID de la lista de contactos, y el campo lastUpdatedAt con el valor de updatedAt retornado la última vez que la lista de contactos fue obtenida, creada o editada.

Ejemplo de respuesta:

{ "id": "01a0df17-6fa4-7332-a3c1-d605df53fea2", "name": "CL1 - Updated", "numbersCount": 0, "varNames": null, "updatedAt": "2026-09-26T19:05:15.123" }

Eliminar listas de contactos

El siguiente ejemplo muestra cómo eliminar una o varias listas de contactos en una sola solicitud:

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request DELETE \ --data-raw '["ID_LISTA_CONTACTOS_1","ID_LISTA_CONTACTOS_2"]' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/contactLists'

La respuesta contiene los IDs de las listas de contactos eliminadas:

["ID_LISTA_CONTACTOS_1","ID_LISTA_CONTACTOS_2"]

Listar números de una lista de contactos

El siguiente ejemplo muestra cómo listar los números de una lista de contactos:

curl -i \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --get \ --data-urlencode 'filter={"number":"18035551"}' \ --data-urlencode 'sort=["number","DESC"]' \ --data-urlencode 'range=[0,19]' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/contactLists/ID_LISTA_CONTACTOS/numbers'

Las invocaciones permiten especificar filtros, ordenamiento y rango:

  • La instrucción de filtrado puede especificar el siguiente campo:
    • filter={"number":"18035551"} – Está permitida la búsqueda parcial de números
  • La instrucción de ordenamiento puede especificar el siguiente campo, en orden ascendente (ASC) o descendente (DESC):
    • number

Ejemplo de respuesta:

[ { "id": 8, "number": "+18035551005", "varValues": [ "Millie Watson", "$118.49" ] }, { "id": 7, "number": "+18035551004", "varValues": [ "Stefan Robertson", "$99.00" ] }, { "id": 6, "number": "+18035551003", "varValues": [ "Clara White", "$350.00" ] }, { "id": 5, "number": "+18035551002", "varValues": [ "Peter Smith", "$852.05" ] }, { "id": 4, "number": "+18035551001", "varValues": [ "Jane Clarke", "$523.26" ] } ]

Los valores en varValues siguen el mismo orden que los nombres de las variables en el campo varNames de la lista de contactos.

Agregar números a una lista de contactos

El siguiente ejemplo muestra cómo agregar nuevos números a una lista de contactos, incluidos sus valores de variables:

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request POST \ --data-raw '[{"number":"+18005551239","varValues":["Peter Jackson","$367.75"]}]' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/contactLists/ID_LISTA_CONTACTOS/numbers?varNames=["Customer Name","Due Balance"]'

Ejemplo de respuesta:

[ { "id": 10, "number": "+18005551239", "varValues": [ "Peter Jackson", "$367.75" ] } ]

Eliminar números de una lista de contactos

El siguiente ejemplo muestra cómo eliminar números de una lista de contactos, especificando el ID retornado al obtener la lista de números:

curl -i \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer API_KEY_TOKEN' \ --request DELETE \ --data-raw '[ID_NÚMERO_1,ID_NÚMERO_2,ID_NÚMERO_3]' \ 'https://api.sipcaller.com/v1/accounts/ID_CUENTA/contactLists/ID_LISTA_CONTACTOS/numbers'

Los datos enviados permiten especificar múltiples IDs de números. Estos IDs NO son los números. Necesitarás obtener la lista de números de la lista de contactos primero, para obtener el ID de cada registro, y luego eliminarlos. La respuesta contiene los IDs de los números eliminados:

[ID_NÚMERO_1,ID_NÚMERO_2,ID_NÚMERO_3]


SIP Caller
© 2026 Easy Caller LLC Todos los Derechos Reservados
LinkedinYou Tube
Trustpilot