ONESOURCE Onboarding APIs
https://gosocket-onboarding-api-sbx.gosocket.nethttps://global-apim-prd.gosocket.net/ms-onboardingapiCredenciales 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.
| Campo | Descripción |
|---|---|
partnerId | Identificador único del partner (GUID) |
apiKeyUser | ApiKey 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.
| Campo | Tipo | Req. | Descripción |
|---|---|---|---|
partnerId | string (GUID) | Requerido | ID del partner TR — ver Credenciales del Partner |
apiKeyUser | string (GUID) | Requerido | ApiKey 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 |
|---|---|
| 1 | Creación de la cuenta de la empresa |
| 2 | Creación del usuario administrador |
| 3 | Carga del certificado digital (si aplica) |
| 4 | Generación de ApiKeys (OAuth 2.0 o Basic Auth) |
Parámetros de ruta
| Campo | Tipo | Req. | Descripción |
|---|---|---|---|
countryId | string | Requerido | Código ISO del país (ej: ar, cl, mx) |
Body — estructura completa
| Campo | Tipo | Req. | Descripción |
|---|---|---|---|
accountUser.account.code | string | Requerido | TaxId / RUT de la empresa |
accountUser.account.name | string | Requerido | Razón social |
accountUser.account.description | string | Opcional | Descripción libre |
accountUser.account.address | string | Opcional | Dirección |
accountUser.account.city | string | Opcional | Ciudad |
accountUser.account.province | string | Opcional | Provincia / Estado |
accountUser.account.phone | string | Opcional | Teléfono |
accountUser.user.name | string | Requerido | Nombre del usuario admin |
accountUser.user.email | string | Requerido | Email del usuario admin |
accountUser.authenticationMethod | integer | Requerido | 1 = OAuth 2.0 · 0 = Basic Auth |
certificateRootDto.certBase64 | string | Condicional | Certificado .pfx en Base64 |
certificateRootDto.certKeyBase64 | string | Condicional | Clave privada en Base64 (cuando aplica) |
certificateRootDto.password | string | Condicional | Contraseña del certificado |
certificateRootDto.defaultCertificate | boolean | Condicional | Define si es el certificado predeterminado |
taxEntity | object | Condicional | Datos 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,apiKeyUseryapiKeyPassdel cliente solo están disponibles cuandostatus = "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.
| Campo | Tipo | Req. | Descripción |
|---|---|---|---|
countryId (ruta) | string | Requerido | Código ISO del país |
taxId | string | Requerido | TaxId de la empresa |
name | string | Opcional | Nueva razón social |
description | string | Opcional | Nueva descripción |
address | string | Opcional | Nueva dirección |
city | string | Opcional | Nueva ciudad |
province | string | Opcional | Nueva provincia |
phone | string | Opcional | Nuevo 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ámetro | Ubicación | Req. | Descripción |
|---|---|---|---|
countryId | ruta | Requerido | Código ISO del país |
taxId | query | Requerido | TaxId 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.
| Campo | Tipo | Req. | Descripción |
|---|---|---|---|
countryId (ruta) | string | Requerido | Código ISO del país |
taxId | string | Requerido | TaxId de la empresa |
blocked | boolean | Requerido | true = 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.
| Campo | Tipo | Req. | Descripción |
|---|---|---|---|
apiKeyId | string (GUID) | Requerido | ID de la ApiKey — obtener con getApiKeys |
enabled | boolean | Requerido | true = 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ámetro | Ubicación | Req. | Descripción |
|---|---|---|---|
countryId | ruta | Requerido | Código ISO del país |
taxId | query | Requerido | TaxId 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ámetro | Ubicación | Req. | Descripción |
|---|---|---|---|
countryId | ruta | Requerido | Código ISO del país |
taxId | query | Requerido | TaxId 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.
| Campo | Tipo | Req. | Descripción |
|---|---|---|---|
countryId (ruta) | string | Requerido | Código ISO del país |
taxId | string | Requerido | TaxId de la empresa |
certificateId | string (GUID) | Requerido | ID del certificado — obtener con getCertificates |
tag | string | Requerido | Nueva 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.
| Campo | Tipo | Req. | Descripción |
|---|---|---|---|
countryId (ruta) | string | Requerido | Código ISO del país |
taxId | string | Requerido | TaxId de la empresa |
certificateId | string (GUID) | Requerido | ID 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).createTokensiempre usa/clindependientemente del país. Los endpoints de certificados (getCertificates,updateCertificateTag,deleteCertificate) solo aplican a países que requieren certificado digital — ver Onboarding por País.