Saltar al contenido principal

ONESOURCE Onboarding APIs

SBXhttps://gosocket-onboarding-api-sbx.gosocket.net
PRDhttps://global-apim-prd.gosocket.net/ms-onboardingapi

Credenciales del Partner

Para consumir cualquier endpoint de onboarding necesitas las credenciales del Partner TR. Se generan una sola vez para Chile y se reutilizan en todos los países.

CampoDescripción
partnerIdIdentificador único del partner (GUID)
apiKeyUserApiKey del partner para autenticación (GUID)

⚠️ Solicita las credenciales al equipo de Integraciones (Producto). No deben almacenarse en código fuente ni compartirse por canales no seguros. Existe un único set por ambiente (SBX y PRD).



createToken

POST /api/security/createToken/cl

Genera un token OAuth 2.0 válido por 2 horas, necesario para consumir el resto de las APIs.

CampoTipoReq.Descripción
partnerIdstring (GUID)RequeridoID del partner TR — ver Credenciales del Partner
apiKeyUserstring (GUID)RequeridoApiKey del partner para autenticación

Request

{
"partnerId": "<TU_PARTNER_ID>",
"apiKeyUser": "<TU_API_KEY_USER>"
}

Response

{
"value": {
"token": "<JWT_TOKEN>",
"expiresIn": 7200
},
"status": 0,
"isSuccess": true,
"errors": [],
"validationErrors": []
}

createAccount

POST /api/account/createAccount/{countryId}

Crea la cuenta de una empresa. Es asíncrono: devuelve un trackId para consultar el estado final con getProcess.

Microprocesos internos

#Acción
1Creación de la cuenta de la empresa
2Creación del usuario administrador
3Carga del certificado digital (si aplica)
4Generación de ApiKeys (OAuth 2.0 o Basic Auth)

Parámetros de ruta

CampoTipoReq.Descripción
countryIdstringRequeridoCódigo ISO del país (ej: ar, cl, mx)

Body — estructura completa

CampoTipoReq.Descripción
accountUser.account.codestringRequeridoTaxId / RUT de la empresa
accountUser.account.namestringRequeridoRazón social
accountUser.account.descriptionstringOpcionalDescripción libre
accountUser.account.addressstringOpcionalDirección
accountUser.account.citystringOpcionalCiudad
accountUser.account.provincestringOpcionalProvincia / Estado
accountUser.account.phonestringOpcionalTeléfono
accountUser.user.namestringRequeridoNombre del usuario admin
accountUser.user.emailstringRequeridoEmail del usuario admin
accountUser.authenticationMethodintegerRequerido1 = OAuth 2.0 · 0 = Basic Auth
certificateRootDto.certBase64stringCondicionalCertificado .pfx en Base64
certificateRootDto.certKeyBase64stringCondicionalClave privada en Base64 (cuando aplica)
certificateRootDto.passwordstringCondicionalContraseña del certificado
certificateRootDto.defaultCertificatebooleanCondicionalDefine si es el certificado predeterminado
taxEntityobjectCondicionalDatos de entidad tributaria — ver Onboarding por País

Request (ejemplo genérico)

{
"accountUser": {
"account": {
"code": "{{taxId}}",
"name": "Nombre Organización",
"description": "",
"address": "",
"city": "",
"province": "",
"phone": "",
"fax": ""
},
"user": {
"name": "Nombre Usuario Admin",
"email": "user@empresa.com"
},
"authenticationMethod": 1
},
"certificateRootDto": {
"certBase64": "BASE64_CERTIFICADO",
"certKeyBase64": "",
"password": "PASSWORD_CERT",
"defaultCertificate": false
}
}

Response

{
"value": {
"trackId": "<TRACK_ID>"
},
"isSuccess": true
}

getProcess

POST /api/account/getProcess

Consulta el estado del proceso asíncrono iniciado por createAccount. Sondear hasta que status sea "Ok" o "Error".

💡 accountId, apiKeyUser y apiKeyPass del cliente solo están disponibles cuando status = "Ok".

Request

{
"trackId": "{{trackId}}"
}

Response — en proceso

{
"value": {
"trackId": "{{trackId}}",
"status": "InProgress",
"processName": "CreateAccount",
"details": []
},
"isSuccess": true
}

Response — completado

{
"value": {
"trackId": "{{trackId}}",
"status": "Ok",
"processName": "CreateAccount",
"accountId": "{{accountId}}",
"apiKeyUser": "{{apiKeyUser_client}}",
"apiKeyPass": "{{apiKeyPass_client}}",
"details": []
},
"isSuccess": true
}

Response — error

{
"value": {
"trackId": "{{trackId}}",
"status": "Error",
"processName": "CreateAccount",
"details": [
{
"step": "CreateAccount",
"error": "Descripción del error"
}
]
},
"isSuccess": false
}

updateAccount

PATCH /api/account/updateAccount/{countryId}

Actualiza los datos de una cuenta existente. Solo se envían los campos a modificar.

CampoTipoReq.Descripción
countryId (ruta)stringRequeridoCódigo ISO del país
taxIdstringRequeridoTaxId de la empresa
namestringOpcionalNueva razón social
descriptionstringOpcionalNueva descripción
addressstringOpcionalNueva dirección
citystringOpcionalNueva ciudad
provincestringOpcionalNueva provincia
phonestringOpcionalNuevo teléfono

Request

{
"taxId": "{{taxId}}",
"name": "Nombre Empresa Actualizado",
"description": "Descripción actualizada",
"address": "Nueva dirección",
"city": "Ciudad",
"province": "Provincia",
"phone": "+56900000000"
}

Response

{
"value": {
"taxId": "{{taxId}}",
"name": "Nombre Empresa Actualizado",
"countryId": "cl"
},
"isSuccess": true
}

getAccount

GET /api/account/getAccount/{countryId}?taxId={taxId}

Obtiene los datos completos de una cuenta específica.

ParámetroUbicaciónReq.Descripción
countryIdrutaRequeridoCódigo ISO del país
taxIdqueryRequeridoTaxId de la empresa

Response

{
"value": {
"taxId": "{{taxId}}",
"name": "Nombre Organización",
"countryId": "cl",
"status": "Active",
"authenticationMethod": 1,
"apiKeys": [],
"certificates": []
},
"isSuccess": true
}

getAccounts

GET /api/account/getAccounts

Lista todas las cuentas asociadas al Partner autenticado.

Response

{
"value": [
{
"taxId": "{{taxId}}",
"name": "Nombre Organización",
"countryId": "cl",
"status": "Active"
}
],
"isSuccess": true
}

blockUnblockCompany

PATCH /api/account/blockUnblockCompany/{countryId}

Bloquea o desbloquea el acceso de una empresa a la plataforma Gosocket.

CampoTipoReq.Descripción
countryId (ruta)stringRequeridoCódigo ISO del país
taxIdstringRequeridoTaxId de la empresa
blockedbooleanRequeridotrue = bloquear · false = desbloquear

Request

{
"taxId": "{{taxId}}",
"blocked": true
}

Response

{
"value": {
"taxId": "{{taxId}}",
"blocked": true
},
"isSuccess": true
}

enableDisableApiKey

PATCH /api/account/enableDisableApiKey

Habilita o deshabilita una ApiKey específica de una cuenta cliente.

CampoTipoReq.Descripción
apiKeyIdstring (GUID)RequeridoID de la ApiKey — obtener con getApiKeys
enabledbooleanRequeridotrue = habilitar · false = deshabilitar

Request

{
"apiKeyId": "{{apiKeyId}}",
"enabled": false
}

Response

{
"value": {
"apiKeyId": "{{apiKeyId}}",
"enabled": false
},
"isSuccess": true
}

getApiKeys

GET /api/account/getApiKeys/{countryId}?taxId={taxId}

Lista las ApiKeys generadas para una cuenta cliente.

ParámetroUbicaciónReq.Descripción
countryIdrutaRequeridoCódigo ISO del país
taxIdqueryRequeridoTaxId de la empresa

Response

{
"value": [
{
"apiKeyId": "{{apiKeyId}}",
"apiKeyUser": "{{apiKeyUser_client}}",
"apiKeyPass": "{{apiKeyPass_client}}",
"enabled": true,
"authenticationMethod": 1
}
],
"isSuccess": true
}

getCertificates

GET /api/certificates/{countryId}?taxId={taxId}

Lista los certificados cargados para una cuenta. Disponible solo para países que requieren certificado digital.

ParámetroUbicaciónReq.Descripción
countryIdrutaRequeridoCódigo ISO del país
taxIdqueryRequeridoTaxId de la empresa

Response

{
"value": [
{
"certificateId": "{{certificateId}}",
"tag": "certificado-principal",
"isDefault": true,
"expiresAt": "2026-12-31T00:00:00Z",
"status": "Active"
}
],
"isSuccess": true
}

updateCertificateTag

PUT /api/certificates/updateTag/{countryId}

Actualiza la etiqueta (tag) de identificación de un certificado.

CampoTipoReq.Descripción
countryId (ruta)stringRequeridoCódigo ISO del país
taxIdstringRequeridoTaxId de la empresa
certificateIdstring (GUID)RequeridoID del certificado — obtener con getCertificates
tagstringRequeridoNueva etiqueta descriptiva

Request

{
"taxId": "{{taxId}}",
"certificateId": "{{certificateId}}",
"tag": "certificado-renovado-2026"
}

Response

{
"value": {
"certificateId": "{{certificateId}}",
"tag": "certificado-renovado-2026"
},
"isSuccess": true
}

deleteCertificate

DELETE /api/certificates/delete/{countryId}

Elimina un certificado de una cuenta. Requiere que no sea el único certificado activo.

CampoTipoReq.Descripción
countryId (ruta)stringRequeridoCódigo ISO del país
taxIdstringRequeridoTaxId de la empresa
certificateIdstring (GUID)RequeridoID del certificado a eliminar

Request

{
"taxId": "{{taxId}}",
"certificateId": "{{certificateId}}"
}

Response

{
"value": null,
"isSuccess": true
}

📝 Para todos los endpoints que requieren {countryId} en la ruta, usa el código ISO del país (ej: cl, ar, mx). createToken siempre usa /cl independientemente del país. Los endpoints de certificados (getCertificates, updateCertificateTag, deleteCertificate) solo aplican a países que requieren certificado digital — ver Onboarding por País.