As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Crie uma campanha externa usando a API ou a CLI
Você pode criar e gerenciar campanhas externas de forma programática usando a AWS CLI ou a API de campanhas externas do Amazon Connect. Este tópico explica como criar uma campanha externa do Connect Customer, definir fluxos de campanha e referenciar comandos de ciclo de vida usando a CLI.
Pré-requisitos
Antes de criar uma campanha usando a API ou a CLI, verifique se você tem o seguinte:
-
Uma instância do Connect Customer com chamadas externas ativadas.
-
Uma AWS KMS chave configurada para campanhas externas. Consulte Crie um AWS KMS key.
-
Campanhas externas ativadas em sua instância. Consulte Configurar campanhas externas.
-
Um ARN do segmento de perfis de clientes para os destinatários da sua campanha.
-
Modelos de mensagem criados em sua base de conhecimento Amazon Q in Connect. Para obter mais informações, consulte Criar modelos de mensagem.
-
A AWS CLI versão 2 instalada e configurada. Para obter mais informações, consulte Instalando a AWS CLI.
Crie um fluxo de campanha
Os fluxos da campanha definem a sequência de ações que são executadas para cada destinatário. Você cria fluxos usando a CreateContactFlowAPI com o tipo de fluxo definido comoCAMPAIGN. Para obter informações detalhadas sobre cada tipo de ação, consulteDefinições de blocos de fluxo de viagem.
Fluxo simples (sem novas tentativas)
Um fluxo simples envia uma única comunicação para cada destinatário sem verificar o status da entrega. Essa é a estrutura de fluxo mais simples:
{ "Version": "2019-10-30", "StartAction": "SendSMS", "Actions": [ { "Identifier": "SendSMS", "Type": "SendSMS", "Parameters": { "Message": { "MessageSourceType": "TEMPLATE", "TemplatedMessage": { "WisdomKnowledgeBaseArn": "arn:aws:wisdom:us-east-1:123456789012:knowledge-base/your-kb-id", "WisdomMessageTemplateArn": "arn:aws:wisdom:us-east-1:123456789012:message-template/your-kb-id/your-template-id" } }, "SourceEndpoint": { "Address": "arn:aws:connect:us-east-1:123456789012:phone-number/your-phone-number-id", "Type": "CONNECT_PHONENUMBER_ARN" } }, "Transitions": { "NextAction": "EndFlow", "Conditions": [], "Errors": [ { "NextAction": "EndFlow", "ErrorType": "NoMatchingError" } ] } }, { "Identifier": "EndFlow", "Type": "EndFlowExecution", "Parameters": {} } ] }
Fluxo com verificação do status da entrega e novas tentativas
Para fluxos que verificam o status da entrega e tentam novamente em caso de falha, use a estrutura a seguir. O fluxo envia uma comunicação, aguarda um recibo de entrega, recupera o status da comunicação e, em seguida, ramifica com base no resultado.
As principais ações em um fluxo de repetição são:
-
Envia SMS, SendOutboundEmail, ou PutDialRequest— Envia a comunicação de saída.
-
Aguarde — Aguarda o recibo de entrega.
-
GetOutboundCommunicationStatus—Recupera o status de entrega da comunicação mais recente.
-
Compare — avalia o recibo de entrega e as filiais com base no resultado (por exemplo, tente novamente no caso de devolução, termine com sucesso).
-
EndFlowExecution—Encerra o fluxo. Todos os caminhos de fluxo devem terminar com essa ação.
O exemplo a seguir mostra o fluxo de uma MANAGED campanha que envia um SMS, aguarda um recibo de entrega, verifica o status e tenta novamente com um e-mail se a mensagem for rejeitada:
{ "Version": "2019-10-30", "StartAction": "SendSMS", "Actions": [ { "Identifier": "SendSMS", "Type": "SendSMS", "Parameters": { "Message": { "MessageSourceType": "TEMPLATE", "TemplatedMessage": { "WisdomKnowledgeBaseArn": "arn:aws:wisdom:us-east-1:123456789012:knowledge-base/your-kb-id", "WisdomMessageTemplateArn": "arn:aws:wisdom:us-east-1:123456789012:message-template/your-kb-id/your-sms-template-id" } }, "SourceEndpoint": { "Address": "arn:aws:connect:us-east-1:123456789012:phone-number/your-phone-number-id", "Type": "CONNECT_PHONENUMBER_ARN" } }, "Transitions": { "NextAction": "Wait", "Conditions": [], "Errors": [ { "NextAction": "EndFlow", "ErrorType": "NoMatchingError" } ] } }, { "Identifier": "Wait", "Type": "Wait", "Parameters": { "TimeLimitSeconds": "900" }, "Transitions": { "NextAction": "GetOutboundCommunicationStatus", "Conditions": [ { "NextAction": "GetOutboundCommunicationStatus", "Condition": { "Operator": "Equals", "Operands": ["WaitCompleted"] } } ], "Errors": [ { "NextAction": "EndFlow", "ErrorType": "NoMatchingError" } ] } }, { "Identifier": "GetOutboundCommunicationStatus", "Type": "GetOutboundCommunicationStatus", "Parameters": { "OutboundCommunicationIds": ["$.OutboundCommunication.Latest.Id"] }, "Transitions": { "NextAction": "Compare", "Conditions": [], "Errors": [ { "NextAction": "EndFlow", "ErrorType": "NoMatchingError" } ] } }, { "Identifier": "Compare", "Type": "Compare", "Parameters": { "ComparisonValue": "$.DeliveryReceipts['`$.OutboundCommunication.Latest.Id`'].Bounce" }, "Transitions": { "NextAction": "EndFlow", "Conditions": [ { "NextAction": "SendEmail", "Condition": { "Operator": "Exists", "Operands": [] } } ], "Errors": [ { "NextAction": "EndFlow", "ErrorType": "NoMatchingCondition" } ] } }, { "Identifier": "SendEmail", "Type": "SendOutboundEmail", "Parameters": { "EmailMessage": { "MessageSourceType": "TEMPLATE", "TemplatedMessage": { "WisdomKnowledgeBaseArn": "arn:aws:wisdom:us-east-1:123456789012:knowledge-base/your-kb-id", "WisdomMessageTemplateArn": "arn:aws:wisdom:us-east-1:123456789012:message-template/your-kb-id/your-email-template-id" } }, "FromEmailAddress": { "EmailAddress": "noreply@example.com" } }, "Transitions": { "NextAction": "EndFlow", "Conditions": [], "Errors": [ { "NextAction": "EndFlow", "ErrorType": "NoMatchingError" } ] } }, { "Identifier": "EndFlow", "Type": "EndFlowExecution", "Parameters": {} } ] }
Importante
-
Se seu fluxo usa vários tipos de canais (por exemplo, SMS e e-mail), inclua todos os canais no
--channel-subtype-configparâmetro ao criar a campanha. -
Para fluxos usados em campanhas com tipos
MANAGEDque verificam o status da entrega, a sequência de ação necessária é: Esperar → GetOutboundCommunicationStatus→ Comparar. AWaitação pausa o fluxo por um período especificado para dar tempo para que o recibo de entrega chegue. AGetOutboundCommunicationStatusação recupera o status da entrega. ACompareação se ramifica com base no resultado. -
O
OutboundCommunicationIdsparâmetro emGetOutboundCommunicationStatusdeve fazer referência$.OutboundCommunication.Latest.Id. As referências do recibo de entrega nasCompareações devem usar a mesma chave. Por exemplo:$.DeliveryReceipts['`$.OutboundCommunication.Latest.Id`'].Bounce. -
MANAGEDcampanhas que usam canais de voz exigemdialCriteriaRulesnaPutDialRequestação:{ "Identifier": "PutDialRequest", "Type": "PutDialRequest", "Parameters": { "dialCriteriaRules": [ { "type": "CheckSegmentMembershipForCustomerProfile", "segmentArn": "arn:aws:profile:us-east-1:123456789012:domains/your-domain/segments/your-segment" } ] }, ... }
Crie uma versão do fluxo da campanha
Depois de criar um fluxo de campanha, você deve criar uma versão do fluxo. O ARN do fluxo versionado é necessário ao criar uma campanha. Use a CreateContactFlowVersionAPI para criar uma versão.
O ARN do fluxo versionado inclui um sufixo de versão. Por exemplo: arn:aws:connect:us-east-1:123456789012:instance/your-instance-id/contact-flow/your-flow-id:1
Para obter mais informações, consulte a referência da CLI create-contact-flow-version.
Crie uma campanha externa
Use o create-campaign comando para criar uma campanha. O exemplo a seguir cria uma campanha de SMS com o modo de saída sem agente:
aws connectcampaignsv2 create-campaign \ --name "My SMS Campaign" \ --connect-instance-id "your-instance-id" \ --type MANAGED \ --connect-campaign-flow-arn "arn:aws:connect:us-east-1:123456789012:instance/your-instance-id/contact-flow/your-flow-id:1" \ --source '{"customerProfilesSegmentArn": "arn:aws:profile:us-east-1:123456789012:domains/your-domain/segments/your-segment"}' \ --channel-subtype-config '{ "sms": { "outboundMode": {"agentless": {}}, "defaultOutboundConfig": { "connectSourcePhoneNumberArn": "arn:aws:connect:us-east-1:123456789012:phone-number/your-phone-number-id", "wisdomTemplateArn": "arn:aws:wisdom:us-east-1:123456789012:message-template/your-kb-id/your-template-id" } } }' \ --schedule '{"startTime": "2026-07-01T09:00:00", "endTime": "2026-07-01T17:00:00", "refreshFrequency": "PT30M"}' \ --communication-time-config '{ "localTimeZoneConfig": {"defaultTimeZone": "America/New_York"}, "sms": { "openHours": { "dailyHours": { "MONDAY": [{"startTime": "T09:00", "endTime": "T17:00"}], "TUESDAY": [{"startTime": "T09:00", "endTime": "T17:00"}], "WEDNESDAY": [{"startTime": "T09:00", "endTime": "T17:00"}], "THURSDAY": [{"startTime": "T09:00", "endTime": "T17:00"}], "FRIDAY": [{"startTime": "T09:00", "endTime": "T17:00"}] } } } }' \ --region us-east-1
Em caso de sucesso, o comando retorna o ID e o ARN da campanha:
{ "id": "campaign-id", "arn": "arn:aws:connect-campaigns:us-east-1:123456789012:campaign/campaign-id" }
nota
O --type parâmetro especifica o tipo de campanha. Use MANAGED para campanhas externas. Use JOURNEY para viagens de várias etapas e vários canais — consulte. Construtor visual de viagens
nota
Você também pode especificar --communication-limits-override para controlar quantas vezes um destinatário pode ser contatado. Para ver a lista completa de parâmetros, consulte a referência da CLI de criação de campanha.
Para gerenciar as operações do ciclo de vida da campanha (iniciar, interromper, pausar, retomar, excluir), consulte a referência da AWS CLI para connectcampaignsv2.