Ir al contenido

Números de teléfono

Números para llamadas y SMS: países y precios, comprar uno (los países que regulan los números piden antes la identidad del titular: KYC), decidir a dónde van las llamadas y activar los SMS. Los gestionan propietarios y admins; cada número se cobra al mes del saldo.

GET/v1/phone-numbers/countries

Dónde se pueden comprar números, por tipo: precio al mes (céntimos), si hace falta KYC, SMS y existencias.

Respuesta 200

data []
  • codestringobligatorio

    ISO 3166-1 alfa-2.

  • needsKycbooleanobligatorio
  • typesobject[]obligatorio

    Primero el tipo por defecto.

    types
    • numberTypestringobligatorio

      Valores: local · mobile · national · toll_free

    • monthlyPriceintegerobligatorio

      Céntimos de euro al mes.

      máx. 9.007.199.254.740.991

    • needsKycbooleanobligatorio
    • smsbooleanobligatorio
    • callsbooleanobligatorio
    • inStockbooleanobligatorio
    • preOrderablebooleanobligatorio

      Sin existencias pero se puede pedir con KYC (normalmente de 2 a 4 semanas).

Ventana de terminal
curl "https://api.marsial.dev/v1/phone-numbers/countries" \
-H "Authorization: Bearer $MARSIAL_API_KEY"
GET/v1/phone-numbers/available

Existencias del país en directo. Cualquier resultado se puede comprar tal cual con POST /phone-numbers (salvo en países con KYC).

Parámetros

  • countrystringobligatorio

    ISO 3166-1 alfa-2 (GET /v1/phone-numbers/countries).

  • numberTypestring

    local, mobile, national o toll_free; si no se envía, el del país por defecto.

    Valores: local · mobile · national · toll_free

  • areaCodestring

    Prefijo (91, 415) o nombre de una ciudad.

    máx. 40

  • localitystring

    Una ciudad del país.

    máx. 80

  • containsstring

    Dígitos que debe contener el número.

  • smsstring

    Solo números que también pueden enviar SMS.

    Valores: true · false

  • limitinteger

    máx. 100

Respuesta 200

data []
  • phoneNumberstringobligatorio

    E.164.

  • featuresstring[]obligatorio

    voice, sms, mms…

  • localitystring
  • bestEffortbooleanobligatorio

    Añadido porque había pocos: puede estar fuera de la zona pedida.

Ventana de terminal
curl "https://api.marsial.dev/v1/phone-numbers/available?country=GB&numberType=mobile&sms=true" \
-H "Authorization: Bearer $MARSIAL_API_KEY"
GET/v1/phone-numbers

Los activos y los que están en revisión (los rechazados siguen 30 días, con el motivo).

Parámetros

  • profileIdstring

    El perfil cuyos números listar; sin él, los de todos los perfiles.

Respuesta 200

data []
  • idstringobligatorio

    num_…

  • profileIdstringobligatorio
  • phoneNumberstring | nullobligatorio

    E.164; null hasta que la operadora lo asigna.

  • countrystringobligatorio
  • numberTypestring
  • statusstringobligatorio

    pending_regulatory mientras la operadora revisa el KYC; regulatory_declined con el motivo en regulatory.

    Valores: pending_payment · pending_regulatory · regulatory_declined · provisioning · verifying · active · suspended · releasing · released

  • monthlyPriceinteger

    Céntimos de euro al mes, fijados al comprarlo.

    máx. 9.007.199.254.740.991

  • callsobjectobligatorio
    calls
    • enabledbooleanobligatorio
    • forwardTostring

      A dónde van las llamadas entrantes: tel:+E164, sip:… o wss://….

    • voicemailEnabledboolean
    • voicemailGreetingstring
    • recordingEnabledboolean
    • transcriptionEnabledboolean
    • transcriptionLanguagestring

      Valores: auto · en · es

    • businessHoursEnabledboolean
    • businessHoursTimezonestring
    • businessHoursobject[]
      businessHours
      • dayintegerobligatorio

        máx. 9.007.199.254.740.991

      • openstringobligatorio
      • closestringobligatorio
    • blockedCallersstring[]
    • forwardCallerIdstring

      Valores: business · caller

  • smsobjectobligatorio
    sms
    • enabledbooleanobligatorio
    • capableboolean
    • sendApprovedboolean

      Los SMS se entregan (los números de EE. UU. necesitan antes un registro de operadora).

    • domesticOnlyboolean

      Solo puede enviar SMS a números de su país.

  • regulatoryobject
    regulatory
    • declineReasonstring
    • reviewCommentstring
    • actionRequiredbooleanobligatorio
    • idVerificationUrlstring

      Verificación de identidad del titular, una vez hecho el pedido (algunos países).

  • createdAtstring (date-time)
  • activatedAtstring (date-time)
  • smsNoticestring

    Al activar los SMS, qué más necesita.

Ventana de terminal
curl "https://api.marsial.dev/v1/phone-numbers?profileId=prf_8f2k4d" \
-H "Authorization: Bearer $MARSIAL_API_KEY"
POST/v1/phone-numbers

Propietarios y admins. Hace falta al menos un mes del número en el saldo. Los países que regulan los números responden 202 kyc_required: envía la identidad del titular con POST /phone-numbers/kyc.

Cuerpo

  • profileIdstringobligatorio
  • countrystringobligatorio
  • numberTypestring

    local, mobile, national o toll_free; si no se envía, el del país por defecto.

    Valores: local · mobile · national · toll_free

  • phoneNumberstring

    Un número exacto de GET /v1/phone-numbers/available. No en países que piden KYC.

  • areaCodestring

    Cualquier número de esta zona (sin phoneNumber).

  • smsboolean

    Elegir un número que pueda enviar SMS y activarlos.

  • idempotencyKeystring

    Envía el mismo valor al reintentar, para que un reintento nunca compre un segundo número.

    máx. 100

Respuesta 201

data
  • idstringobligatorio

    num_…

  • profileIdstringobligatorio
  • phoneNumberstring | nullobligatorio

    E.164; null hasta que la operadora lo asigna.

  • countrystringobligatorio
  • numberTypestring
  • statusstringobligatorio

    pending_regulatory mientras la operadora revisa el KYC; regulatory_declined con el motivo en regulatory.

    Valores: pending_payment · pending_regulatory · regulatory_declined · provisioning · verifying · active · suspended · releasing · released

  • monthlyPriceinteger

    Céntimos de euro al mes, fijados al comprarlo.

    máx. 9.007.199.254.740.991

  • callsobjectobligatorio
    calls
    • enabledbooleanobligatorio
    • forwardTostring

      A dónde van las llamadas entrantes: tel:+E164, sip:… o wss://….

    • voicemailEnabledboolean
    • voicemailGreetingstring
    • recordingEnabledboolean
    • transcriptionEnabledboolean
    • transcriptionLanguagestring

      Valores: auto · en · es

    • businessHoursEnabledboolean
    • businessHoursTimezonestring
    • businessHoursobject[]
      businessHours
      • dayintegerobligatorio

        máx. 9.007.199.254.740.991

      • openstringobligatorio
      • closestringobligatorio
    • blockedCallersstring[]
    • forwardCallerIdstring

      Valores: business · caller

  • smsobjectobligatorio
    sms
    • enabledbooleanobligatorio
    • capableboolean
    • sendApprovedboolean

      Los SMS se entregan (los números de EE. UU. necesitan antes un registro de operadora).

    • domesticOnlyboolean

      Solo puede enviar SMS a números de su país.

  • regulatoryobject
    regulatory
    • declineReasonstring
    • reviewCommentstring
    • actionRequiredbooleanobligatorio
    • idVerificationUrlstring

      Verificación de identidad del titular, una vez hecho el pedido (algunos países).

  • createdAtstring (date-time)
  • activatedAtstring (date-time)
  • smsNoticestring

    Al activar los SMS, qué más necesita.

Ventana de terminal
curl -X POST "https://api.marsial.dev/v1/phone-numbers" \
-H "Authorization: Bearer $MARSIAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"profileId": "prf_8f2k4d",
"country": "GB",
"numberType": "mobile",
"sms": true
}'
GET/v1/phone-numbers/kyc

Lo que la operadora necesita saber de quien tendrá el número: texto, fecha, dirección, documentos y, a veces, una verificación de identidad posterior (action).

Parámetros

  • countrystringobligatorio
  • numberTypestring

    local, mobile, national o toll_free; si no se envía, el del país por defecto.

    Valores: local · mobile · national · toll_free

Respuesta 200

data
  • countrystringobligatorio
  • numberTypestring
  • fieldsobject[]obligatorio
    fields
    • requirementIdstringobligatorio
    • labelstringobligatorio
    • kindstringobligatorio

      file: súbelo antes; action: una verificación de identidad que se hace después con un enlace.

      Valores: text · date · address · file · action

    • descriptionstring
    • examplestring
    • localTostring

      País ISO al que debe pertenecer el valor.

Ventana de terminal
curl "https://api.marsial.dev/v1/phone-numbers/kyc?country=ES" \
-H "Authorization: Bearer $MARSIAL_API_KEY"
POST/v1/phone-numbers/kyc

Pide el número de un país regulado con la identidad del titular. Espera la revisión de la operadora (pending_regulatory, normalmente de 1 a 3 días laborables) y solo se cobra cuando está activo. Si el formulario tenía verificación de identidad, el número tiene regulatory.idVerificationUrl para enviárselo al titular.

Cuerpo

  • profileIdstringobligatorio
  • countrystringobligatorio
  • numberTypestring

    local, mobile, national o toll_free; si no se envía, el del país por defecto.

    Valores: local · mobile · national · toll_free

  • valuesobject

    requirementId → valor, para los campos text y date.

  • documentsobject[]

    máx. 20 elementos

    documents
    • requirementIdstringobligatorio
    • documentIdstringobligatorio

      De POST /v1/phone-numbers/kyc/documents.

  • addressobject
    address
    • requirementIdstringobligatorio
    • countryCodestringobligatorio
    • streetAddressstringobligatorio

      máx. 200

    • extendedAddressstring

      máx. 200

    • localitystringobligatorio

      máx. 100

    • administrativeAreastring

      máx. 100

    • postalCodestringobligatorio

      máx. 20

  • endUserFirstNamestring

    Nombre legal, cuando el formulario tiene verificación de identidad (action).

    máx. 100

  • endUserLastNamestring

    máx. 100

  • areaCodestring
  • phoneNumberstring
  • smsboolean
  • preOrderboolean

    Aceptar que la operadora consiga un número cuando la zona no tiene existencias (normalmente de 2 a 4 semanas).

  • submissionIdstring

    Envía el mismo valor al reintentar, para que un reintento nunca pida un segundo número.

    máx. 100

Respuesta 202

data
  • numbersobject[]obligatorio
    numbers
    • idstringobligatorio

      num_…

    • profileIdstringobligatorio
    • phoneNumberstring | nullobligatorio

      E.164; null hasta que la operadora lo asigna.

    • countrystringobligatorio
    • numberTypestring
    • statusstringobligatorio

      pending_regulatory mientras la operadora revisa el KYC; regulatory_declined con el motivo en regulatory.

      Valores: pending_payment · pending_regulatory · regulatory_declined · provisioning · verifying · active · suspended · releasing · released

    • monthlyPriceinteger

      Céntimos de euro al mes, fijados al comprarlo.

      máx. 9.007.199.254.740.991

    • callsobjectobligatorio
      calls
      • enabledbooleanobligatorio
      • forwardTostring

        A dónde van las llamadas entrantes: tel:+E164, sip:… o wss://….

      • voicemailEnabledboolean
      • voicemailGreetingstring
      • recordingEnabledboolean
      • transcriptionEnabledboolean
      • transcriptionLanguagestring

        Valores: auto · en · es

      • businessHoursEnabledboolean
      • businessHoursTimezonestring
      • businessHoursobject[]
        businessHours
        • dayintegerobligatorio

          máx. 9.007.199.254.740.991

        • openstringobligatorio
        • closestringobligatorio
      • blockedCallersstring[]
      • forwardCallerIdstring

        Valores: business · caller

    • smsobjectobligatorio
      sms
      • enabledbooleanobligatorio
      • capableboolean
      • sendApprovedboolean

        Los SMS se entregan (los números de EE. UU. necesitan antes un registro de operadora).

      • domesticOnlyboolean

        Solo puede enviar SMS a números de su país.

    • regulatoryobject
      regulatory
      • declineReasonstring
      • reviewCommentstring
      • actionRequiredbooleanobligatorio
      • idVerificationUrlstring

        Verificación de identidad del titular, una vez hecho el pedido (algunos países).

    • createdAtstring (date-time)
    • activatedAtstring (date-time)
    • smsNoticestring

      Al activar los SMS, qué más necesita.

  • preOrderbooleanobligatorio

    La operadora consigue el número (normalmente de 2 a 4 semanas); no se cobra nada hasta que está activo.

Ventana de terminal
curl -X POST "https://api.marsial.dev/v1/phone-numbers/kyc" \
-H "Authorization: Bearer $MARSIAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"profileId": "prf_8f2k4d",
"country": "ES",
"values": {
"d7e8f9a0-…": "Acme SL"
},
"documents": [
{
"requirementId": "e8f9a0b1-…",
"documentId": "kdoc_…"
}
],
"address": {
"requirementId": "f9a0b1c2-…",
"countryCode": "ES",
"streetAddress": "Gran Vía 1",
"locality": "Madrid",
"postalCode": "28013"
}
}'
POST/v1/phone-numbers/kyc/documents

Un archivo (PDF, JPEG o PNG, hasta 4 MB, en base64). Va directo a la operadora; Marsial no guarda nada. Usa el id que devuelve en POST /phone-numbers/kyc.

Cuerpo

  • filenamestringobligatorio

    máx. 200

  • contentTypestringobligatorio

    Valores: application/pdf · image/jpeg · image/png

  • datastringobligatorio

    El archivo en base64, hasta 4 MB. Para un DNI, las dos caras en un solo archivo.

    máx. 6.000.000

Respuesta 201

data
  • documentIdstringobligatorio

    kdoc_…

Ventana de terminal
curl -X POST "https://api.marsial.dev/v1/phone-numbers/kyc/documents" \
-H "Authorization: Bearer $MARSIAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filename": "id.pdf",
"contentType": "application/pdf",
"data": "JVBERi0xLjQK…"
}'
GET/v1/phone-numbers/{id}

Parámetros

  • idstringobligatorio

Respuesta 200

data
  • idstringobligatorio

    num_…

  • profileIdstringobligatorio
  • phoneNumberstring | nullobligatorio

    E.164; null hasta que la operadora lo asigna.

  • countrystringobligatorio
  • numberTypestring
  • statusstringobligatorio

    pending_regulatory mientras la operadora revisa el KYC; regulatory_declined con el motivo en regulatory.

    Valores: pending_payment · pending_regulatory · regulatory_declined · provisioning · verifying · active · suspended · releasing · released

  • monthlyPriceinteger

    Céntimos de euro al mes, fijados al comprarlo.

    máx. 9.007.199.254.740.991

  • callsobjectobligatorio
    calls
    • enabledbooleanobligatorio
    • forwardTostring

      A dónde van las llamadas entrantes: tel:+E164, sip:… o wss://….

    • voicemailEnabledboolean
    • voicemailGreetingstring
    • recordingEnabledboolean
    • transcriptionEnabledboolean
    • transcriptionLanguagestring

      Valores: auto · en · es

    • businessHoursEnabledboolean
    • businessHoursTimezonestring
    • businessHoursobject[]
      businessHours
      • dayintegerobligatorio

        máx. 9.007.199.254.740.991

      • openstringobligatorio
      • closestringobligatorio
    • blockedCallersstring[]
    • forwardCallerIdstring

      Valores: business · caller

  • smsobjectobligatorio
    sms
    • enabledbooleanobligatorio
    • capableboolean
    • sendApprovedboolean

      Los SMS se entregan (los números de EE. UU. necesitan antes un registro de operadora).

    • domesticOnlyboolean

      Solo puede enviar SMS a números de su país.

  • regulatoryobject
    regulatory
    • declineReasonstring
    • reviewCommentstring
    • actionRequiredbooleanobligatorio
    • idVerificationUrlstring

      Verificación de identidad del titular, una vez hecho el pedido (algunos países).

  • createdAtstring (date-time)
  • activatedAtstring (date-time)
  • smsNoticestring

    Al activar los SMS, qué más necesita.

Ventana de terminal
curl "https://api.marsial.dev/v1/phone-numbers/num_…" \
-H "Authorization: Bearer $MARSIAL_API_KEY"
DELETE/v1/phone-numbers/{id}

Propietarios y admins. Devuelve el número y deja de cobrarse; un número en revisión o un pedido se cancela. No se puede recuperar.

Parámetros

  • idstringobligatorio

Respuesta 204

Sin contenido

Ventana de terminal
curl -X DELETE "https://api.marsial.dev/v1/phone-numbers/num_…" \
-H "Authorization: Bearer $MARSIAL_API_KEY"
PATCH/v1/phone-numbers/{id}/calls

A dónde van las llamadas (un teléfono, una dirección SIP o un agente de voz por wss://), buzón de voz, horario, llamadas bloqueadas, grabación y transcripción. Solo cambian los campos enviados.

Parámetros

  • idstringobligatorio

Cuerpo

  • enabledboolean

    false desactiva las llamadas en el número (los ajustes se guardan).

  • forwardTostring | ""

    A dónde van las llamadas entrantes: tel:+E164, sip:… o wss://… (un agente de voz con IA). Vacío lo quita.

  • voicemailEnabledboolean
  • voicemailGreetingstring

    máx. 500

  • recordingEnabledboolean

    Graba las llamadas (antes suena un aviso).

  • transcriptionEnabledboolean
  • transcriptionLanguagestring

    Valores: auto · en · es

  • businessHoursEnabledboolean
  • businessHoursTimezonestring

    Zona horaria IANA, por ejemplo Europe/Madrid.

    máx. 60

  • businessHoursobject[]

    máx. 21 elementos

    businessHours
    • dayintegerobligatorio

      0 es domingo.

      máx. 6

    • openstringobligatorio
    • closestringobligatorio
  • blockedCallersstring[]

    Sustituye la lista entera.

    máx. 500 elementos

  • forwardCallerIdstring

    Valores: business · caller

Respuesta 200

data
  • idstringobligatorio

    num_…

  • profileIdstringobligatorio
  • phoneNumberstring | nullobligatorio

    E.164; null hasta que la operadora lo asigna.

  • countrystringobligatorio
  • numberTypestring
  • statusstringobligatorio

    pending_regulatory mientras la operadora revisa el KYC; regulatory_declined con el motivo en regulatory.

    Valores: pending_payment · pending_regulatory · regulatory_declined · provisioning · verifying · active · suspended · releasing · released

  • monthlyPriceinteger

    Céntimos de euro al mes, fijados al comprarlo.

    máx. 9.007.199.254.740.991

  • callsobjectobligatorio
    calls
    • enabledbooleanobligatorio
    • forwardTostring

      A dónde van las llamadas entrantes: tel:+E164, sip:… o wss://….

    • voicemailEnabledboolean
    • voicemailGreetingstring
    • recordingEnabledboolean
    • transcriptionEnabledboolean
    • transcriptionLanguagestring

      Valores: auto · en · es

    • businessHoursEnabledboolean
    • businessHoursTimezonestring
    • businessHoursobject[]
      businessHours
      • dayintegerobligatorio

        máx. 9.007.199.254.740.991

      • openstringobligatorio
      • closestringobligatorio
    • blockedCallersstring[]
    • forwardCallerIdstring

      Valores: business · caller

  • smsobjectobligatorio
    sms
    • enabledbooleanobligatorio
    • capableboolean
    • sendApprovedboolean

      Los SMS se entregan (los números de EE. UU. necesitan antes un registro de operadora).

    • domesticOnlyboolean

      Solo puede enviar SMS a números de su país.

  • regulatoryobject
    regulatory
    • declineReasonstring
    • reviewCommentstring
    • actionRequiredbooleanobligatorio
    • idVerificationUrlstring

      Verificación de identidad del titular, una vez hecho el pedido (algunos países).

  • createdAtstring (date-time)
  • activatedAtstring (date-time)
  • smsNoticestring

    Al activar los SMS, qué más necesita.

Ventana de terminal
curl -X PATCH "https://api.marsial.dev/v1/phone-numbers/num_…/calls" \
-H "Authorization: Bearer $MARSIAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"forwardTo": "tel:+34600111222",
"recordingEnabled": true
}'
PUT/v1/phone-numbers/{id}/sms

Solo en números que pueden enviarlos. Los números de EE. UU. necesitan además un registro de operadora (10DLC) que Marsial aún no ofrece.

Parámetros

  • idstringobligatorio

Cuerpo

  • enabledbooleanobligatorio

Respuesta 200

data
  • idstringobligatorio

    num_…

  • profileIdstringobligatorio
  • phoneNumberstring | nullobligatorio

    E.164; null hasta que la operadora lo asigna.

  • countrystringobligatorio
  • numberTypestring
  • statusstringobligatorio

    pending_regulatory mientras la operadora revisa el KYC; regulatory_declined con el motivo en regulatory.

    Valores: pending_payment · pending_regulatory · regulatory_declined · provisioning · verifying · active · suspended · releasing · released

  • monthlyPriceinteger

    Céntimos de euro al mes, fijados al comprarlo.

    máx. 9.007.199.254.740.991

  • callsobjectobligatorio
    calls
    • enabledbooleanobligatorio
    • forwardTostring

      A dónde van las llamadas entrantes: tel:+E164, sip:… o wss://….

    • voicemailEnabledboolean
    • voicemailGreetingstring
    • recordingEnabledboolean
    • transcriptionEnabledboolean
    • transcriptionLanguagestring

      Valores: auto · en · es

    • businessHoursEnabledboolean
    • businessHoursTimezonestring
    • businessHoursobject[]
      businessHours
      • dayintegerobligatorio

        máx. 9.007.199.254.740.991

      • openstringobligatorio
      • closestringobligatorio
    • blockedCallersstring[]
    • forwardCallerIdstring

      Valores: business · caller

  • smsobjectobligatorio
    sms
    • enabledbooleanobligatorio
    • capableboolean
    • sendApprovedboolean

      Los SMS se entregan (los números de EE. UU. necesitan antes un registro de operadora).

    • domesticOnlyboolean

      Solo puede enviar SMS a números de su país.

  • regulatoryobject
    regulatory
    • declineReasonstring
    • reviewCommentstring
    • actionRequiredbooleanobligatorio
    • idVerificationUrlstring

      Verificación de identidad del titular, una vez hecho el pedido (algunos países).

  • createdAtstring (date-time)
  • activatedAtstring (date-time)
  • smsNoticestring

    Al activar los SMS, qué más necesita.

Ventana de terminal
curl -X PUT "https://api.marsial.dev/v1/phone-numbers/num_…/sms" \
-H "Authorization: Bearer $MARSIAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"enabled": true
}'

© 2026 Marsial by TWOFACES ·marsial.dev ·Panel ·soporte@twofacesco.com