Aplica-se a

Bridge by Smartsheet

Referência a webhooks de entrada

Quem pode usar isso?

Planos:

  • Bridge by Smartsheet

Solicitação de fluxo de trabalho

Com o URL de solicitação do webhook, você pode fazer uma solicitação POST para iniciar um fluxo de trabalho do Bridge. Você pode usar o seguinte corpo de solicitação:

{

    "fluxo de trabalho":"nome do fluxo de trabalho ou UUID",

            "stateValues":{

        "statename":"value"

    },

    "uid":"um ID exclusivo gerado para a solicitação",

    "extra_stuff":{

        "lots":"of it"

    }

}

  • workflow: o único campo obrigatório e deve ser definido como um nome de fluxo de trabalho ou valor UUID válido.
  • stateValues: um campo opcional usado para predefinir os estados do fluxo de trabalho com o valor especificado.
  • uid: um identificador exclusivo usado para que nosso sistema ignore solicitações duplicadas se você enviar a mesma solicitação várias vezes.
  • Todos os outros campos que você enviar como parte do corpo do POST: 
    • passam no fluxo de trabalho e são referenciados usando os handlebars de tempo de execução, por exemplo {{runtime.extra_stuff.lots}}, com o retorno deles; 
    • qualquer valor JSON válido será bem-sucedido.

Lembre-se de que todas as solicitações para este ponto de extremidade requerem que o cabeçalho Inbound-Webhook-Secret seja definido com os valores Secret.

 

Essa solução não é compatível com webhooks, que incluem uma solicitação de desafio. Isso requer a criação de uma integração personalizada.


Solicitações em lote do fluxo de trabalho

Se você quiser executar mais de um fluxo de trabalho com uma única solicitação, poderá passar um objeto de lote como parte da solicitação de corpo:

{

    "fluxo de trabalho":"nome do fluxo de trabalho ou UUID",

    "batch":[

        {

            "uid": "request1",

            "fluxo de trabalho":"fluxo de trabalho alternativo",

            "stateValues":{

                "state":"value"

            },

            "runtimeData":{

                "key":"value"

            }

        },

        {

            "uid": "request2",

            "stateValues":{

                "state":"value"

            }

}

    ]

}

Notas

  • O objeto de solicitação em lote usa os mesmos campos que a solicitação principal, com a adição de runtimeData, que é usado para definir os dados disponíveis para o handlebar {{runtime}} no fluxo de trabalho.

  • Se você não especificar um fluxo de trabalho ou valores de estado no objeto de solicitação em lote, os valores definidos no objeto pai serão usados. No exemplo acima, os dois fluxos de trabalho executariam request1 com o fluxo de trabalho alternativo e request2 com o fluxo de trabalho inicial.
  • Se você quiser substituir os valores principais por nada, defina um objeto vazio como stateValues. Os valores indefinidos são tratados como não definidos, e o valor pai é usado. O campo uid do objeto pai é ignorado quando você está usando solicitações em lote, mas cada objeto em lote pode definir seu próprio uid, se necessário.
  • Mesmo que cada objeto em lote defina seu próprio fluxo de trabalho, o fluxo de trabalho na solicitação principal ainda é necessário.