• При обновлении сделки поля custom_fields в amoCRM происходит регулярный вызов?

    094ikis09
    @094ikis09
    Medium Rare
    Вы получаете webhook об обновлении, а затем обновляете сделку и соответственно амо пришлет webhook повторно. Вам при получение webhook надо проверять поля на заполненность и если они и так уже имеют нужное значение то сделку не обновлять

    Судя по вашему коду должно получиться нечто такое:
    <?php
    
    $data = $_POST['leads']['update'][0];
    $data['custom_fields'] = isset($data['custom_fields']) ? $data['custom_fields'] : array();
    $id = $data['id'];
    
    $lead_cf = array();
    foreach ($data['custom_fields'] as $custom_field) {
        $lead_cf[$custom_field['id']] = $custom_field;
    }
    
    if (!isset($lead_cf[514667]) || !isset($lead_cf[514669])) {
        exit();
    }
    
    $predoplata = intval($lead_cf[514667]['values'][0]['value']);
    $postoplata = intval($lead_cf[514669]['values'][0]['value']);
    
    if ($predoplata === 0 || $postoplata === 0) {
        exit();
    }
    
    $sale = $postoplata + $predoplata;
    $prev_sale = isset($lead_cf[514689]) ? intval($lead_cf[514689]['values'][0]['value']) : null;
    
    if ($prev_sale !== $sale) {
        $lead = array(
            'update' => array(
                array(
                    'id' => $id,
                    'updated_at' => time(),
                    'custom_fields' => array(
                        array(
                            'id' => 514689,
                            'values' => array(
                                array(
                                    'value' => $sale
                                ),
                            ),
                        ),
                    ),
                ),
            ),
        );
        // TODO: SEND TO AMO
    }
    Ответ написан
    2 комментария
  • Как избавиться от лишнего 301 редиректа Wordpress?

    @dodo512
    После RewriteEngine On добавить редирект:
    RewriteCond %{REQUEST_METHOD} !POST
    RewriteCond %{THE_REQUEST} " /(index\.php|([^?]*)/index\.php)"
    RewriteRule ^  https://www.example.com/%2 [R=301,L,NE]
    Ответ написан
    1 комментарий