Pesquise respostas existentes para suas dúvidas sobre produtos e suporte.
Familiarize-se com nosso site de suporte e conheça as melhores práticas para trabalhar com nossa equipe.
Gerencie Solicitações de Serviço; visualize e atualize solicitações de serviço enviadas por você e por outras pessoas da sua organização.
Envie um novo problema para nossa equipe de suporte técnico.
Informações sobre o Oracle B2C Service fornecidas por especialistas da nossa equipe de Suporte Técnico.
Explore recursos para ajudar você a lançar sua implementação e garantir uma entrada em produção bem-sucedida.
Acesse sua conta OCI.
Encontre a documentação do produto para versões compatíveis do B2C e bibliotecas de documentação para soluções de serviço relacionadas.
Você terá as ferramentas para melhorar a experiência dos seus clientes ao conhecer tudo o que nossos produtos podem fazer.
Encontre links para documentação de API, Processos Personalizados, Portal do Cliente e Framework de Extensibilidade da Interface de Usuário do Navegador do Agente.
Explore como os aceleradores são projetados para demonstrar como um cenário de integração pode ser criado usando os recursos públicos de integração e extensão do Oracle B2C Service.
Prepare-se para uma transição bem-sucedida revisando as alterações e melhorias das próximas versões.
Explore webinars, eventos e kits de recursos para conhecer os recursos, funcionalidades e melhores práticas do B2C Service com especialistas técnicos.
O Oracle MyLearn oferece um portfólio de recursos de aprendizagem gratuitos e pagos, baseados em assinatura, para ajudar você a adquirir habilidades valiosas, acelerar a adoção da nuvem, aumentar a produtividade e transformar seus negócios.
Capacite sua equipe com as habilidades necessárias para implementar, configurar, gerenciar e usar seus aplicativos com o treinamento do Customer Experience Cloud.
Nosso objetivo é promover um ambiente amigável e colaborativo, no qual os membros possam colaborar facilmente entre si em soluções e melhores práticas.
Faça e responda perguntas específicas sobre B2C.
Este é um recurso interessante criado para ajudar com o Oracle Service Cloud Analytics.
Compartilhe ideias de melhoria de produto e solicitações de aprimoramento com o Desenvolvimento da Oracle, enquanto colabora com outros clientes e parceiros da Oracle.
Atualize seu número de telefone, preferências de notificação por e-mail e preferências de contato para severidade 1 e severidade 2.
Visualize os gerentes de contato da sua organização.
Encontre as informações de contato do Technical Account Manager (TAM) e do Client Success Manager (CSM) da sua organização.
Environment:
Process Designer, Custom Processes (CPM), Connect for PHP (CPHP) All product versions
Resolution:
The use of an appropriate timeout is required with use of PHP curl in a CPM customization. In addition to specifying a timeout value in code, there are other considerations to make in terms of the potential to retry the call if the request times out.
What is an appropriate timeout?
A curl call timeout of five seconds is highly recommended. This value provides enough time for most integration requests to complete and is small enough to ensure that the asynchronous CPM queue does not fall behind, or become backlogged (in other words). A larger timeout is valid if the volume of transactions processed by the queue allows for it, for any given implementation.
When a curl call reaches a configured timeout threshold, should I ensure that the request is retried?
When a request is made to an integration, and the PHP curl call hits the configured timeout, the PHP process stops waiting for the response from the integration. This, however, does not mean that the request will fail or need to be retried. Instead, the requesting PHP script will not have a response to analyze (in order to determine if the request has completed successfully or not). As such, the determination as to whether or not to retry the request depends on the individual business requirements for each specific implementation.
When a PHP curl call times out in CPM code, how do I ensure that the request is retried?
If it is determined that retrying an integration call is appropriate, this can be accomplished in different ways. One way is to utilize the inherent retry mechanism for asynchronous CPMs when triggered through a mapping in the Process Designer (only, as this does not occur for those triggered from business rules, surveys or campaigns). For further details on this see
Answer ID 6607: Asynchronous CPM "processes" queued are removed automatically after ten unsuccessful tries
This first requires that the curl call is analyzed in code, for whether or not the request timed out. If it did, then the code can throw an exception manually to ensure the CPM is retried (up to the total tries allowed). The PHP curl_errno function is recommended for evaluating the curl response, and then a manual exception may be thrown (that is not being caught in any surrounding PHP try/catch code) to signal to the parent process that there has been a failure. For details on this see
Answer ID 9640: Connect for PHP Best Practices and Gotchas
Also, if using the inherent retry functionality it is important to understand that this could cause the CPM customization to enter an error state. For further details on this see
Answer ID 10025: When does a Custom Process (CPM) enter an error state?
Alternatively, the CPM code can retry the curl call again in the same CPM run, as long as there is enough time to do so within the 157 second limit for an asynchronous CPM. Another method to retry an integration call would be to use an API save intended to re-trigger the asynchronous CPM. For the latter to be effective there must be some change made to the object when the API save is run. Custom objects or fields can also be utilized to evaluate and update objects using the APIs (CPHP etc.) from other customizations (custom crons for example, or custom scripts called externally on a schedule), with the purpose of re-triggering failed CPM runs.
In any case, when integration call retries are made it is important to understand that any object data sent to integrations will reflect the state of the object data at the time the retry of integration call is made. For details on this see
Answer ID 12386: CPMs and Event Subscriptions Not Sent or Sent with Duplicate Data
For further details see
Answer ID 8392: CPM/Process Designer Best Practices and Guidelines