Pular para o conteúdo

Enviar uma versão pela CLI

POST
/connectors/{connectorId}/versions
curl --request POST \
--url https://api-connect.zoppy.com.br/connectors/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/versions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "baseSeq": 1, "code": "example", "manifest": { "additionalProperty": "example" }, "summary": null }'

Grava o código e o manifesto de uma pasta como versão nova (origin cli), por cima de baseSeq. Se outra versão entrou depois de baseSeq, recusa com 409 e não grava nada. A versão nova segue o mesmo ciclo: só roda depois de um ensaio limpo e de publicar. Segredos não passam por aqui: os que faltam voltam em missingSecrets, para preencher na tela do conector.

connectorId
required

Id do conector

string format: uuid

Id do conector

Media typeapplication/json
object
baseSeq
required

HeadSeq de onde a pasta partiu; uma versão mais nova recusa com 409 connect.version_conflict e nada é gravado

integer
code
required

Código TypeScript do conector (connector.ts)

string
>= 1 characters <= 200000 characters
manifest
required

Manifesto da versão (manifest.json); conferido como o de qualquer outra versão

object
key
additional properties
summary

O que mudou, em português

string
nullable <= 500 characters

Versão gravada

Media typeapplication/json
object
connectorId
required

Id do conector

string format: uuid
seq
required

Número da nova versão; mande como baseSeq no próximo push

integer
baseSeq
required

Versão sobre a qual ela foi escrita

integer
origin
required

Sempre cli: enviada pela CLI zoppy-connect

string
Allowed values: cli
summary
required

O que mudou

string
nullable
publishedSeq
required

Versão que roda de verdade; a nova só roda depois de um ensaio limpo e de publicar

integer
nullable
pendingHosts
required

Hosts da nova versão esperando aprovação na tela do conector

Array<string>
missingSecrets
required

Segredos da nova versão sem valor; preenchidos só na tela do conector

Array<string>
zoppyAccessMissing
required

A versão chama a Zoppy e o acesso da loja a ela não está ativo

boolean

Example

{
"origin": "cli"
}

Entrada inválida (validation_failed)

Media typeapplication/json
object
type
required

Código estável do erro, para máquinas (ex.: connect.connector_not_found)

string
title
required

Nome da classe do erro

string
status
required

Status HTTP

integer
detail
required

Mensagem em pt-BR, segura para mostrar a quem usa a tela

string
requestId
required

Id de correlação: passe ao suporte para achar o rastro completo

string
nullable
meta

Detalhes estruturados seguros para a tela (erros de campo, ids)

object
key
additional properties

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"requestId": "example",
"meta": {
"additionalProperty": "example"
}
}

Token ausente, inválido ou expirado (connect.unauthorized)

Media typeapplication/json
object
type
required

Código estável do erro, para máquinas (ex.: connect.connector_not_found)

string
title
required

Nome da classe do erro

string
status
required

Status HTTP

integer
detail
required

Mensagem em pt-BR, segura para mostrar a quem usa a tela

string
requestId
required

Id de correlação: passe ao suporte para achar o rastro completo

string
nullable
meta

Detalhes estruturados seguros para a tela (erros de campo, ids)

object
key
additional properties

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"requestId": "example",
"meta": {
"additionalProperty": "example"
}
}

Papel sem acesso, Connect não liberado ou token sem connect:build (connect.forbidden_role, connect.feature_disabled, connect.insufficient_scope)

Media typeapplication/json
object
type
required

Código estável do erro, para máquinas (ex.: connect.connector_not_found)

string
title
required

Nome da classe do erro

string
status
required

Status HTTP

integer
detail
required

Mensagem em pt-BR, segura para mostrar a quem usa a tela

string
requestId
required

Id de correlação: passe ao suporte para achar o rastro completo

string
nullable
meta

Detalhes estruturados seguros para a tela (erros de campo, ids)

object
key
additional properties

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"requestId": "example",
"meta": {
"additionalProperty": "example"
}
}

Conector de outra loja ou inexistente (connect.connector_not_found)

Media typeapplication/json
object
type
required

Código estável do erro, para máquinas (ex.: connect.connector_not_found)

string
title
required

Nome da classe do erro

string
status
required

Status HTTP

integer
detail
required

Mensagem em pt-BR, segura para mostrar a quem usa a tela

string
requestId
required

Id de correlação: passe ao suporte para achar o rastro completo

string
nullable
meta

Detalhes estruturados seguros para a tela (erros de campo, ids)

object
key
additional properties

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"requestId": "example",
"meta": {
"additionalProperty": "example"
}
}

Outra versão entrou depois de baseSeq (connect.version_conflict); meta traz baseSeq e headSeq

Media typeapplication/json
object
type
required

Código estável do erro, para máquinas (ex.: connect.connector_not_found)

string
title
required

Nome da classe do erro

string
status
required

Status HTTP

integer
detail
required

Mensagem em pt-BR, segura para mostrar a quem usa a tela

string
requestId
required

Id de correlação: passe ao suporte para achar o rastro completo

string
nullable
meta

Detalhes estruturados seguros para a tela (erros de campo, ids)

object
key
additional properties

Example

{
"type": "connect.version_conflict",
"title": "O conector mudou enquanto você editava. Abra a versão mais nova e tente de novo.",
"status": 409,
"meta": {
"baseSeq": 1,
"headSeq": 2
}
}

Manifesto inválido, código que não compila ou agente indisponível (connect.invalid_manifest, connect.invalid_code, connect.agent_not_available)

Media typeapplication/json
object
type
required

Código estável do erro, para máquinas (ex.: connect.connector_not_found)

string
title
required

Nome da classe do erro

string
status
required

Status HTTP

integer
detail
required

Mensagem em pt-BR, segura para mostrar a quem usa a tela

string
requestId
required

Id de correlação: passe ao suporte para achar o rastro completo

string
nullable
meta

Detalhes estruturados seguros para a tela (erros de campo, ids)

object
key
additional properties

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"requestId": "example",
"meta": {
"additionalProperty": "example"
}
}