Ответы пользователя по тегу RESTful API
  • Crest получить список лидов?

    gromdron
    @gromdron Куратор тега Битрикс24
    Bitrix developer
    Что касается постранички, попробуйте так:
    $result = CRest::call(
        'crm.lead.list',
        [
            'filter' => [
                ...
            ],
            'select' => [
                ...
            ],
            'start' => 50
        ]
    );


    В иделале бы вообще выводить не порциями а заданым числов

    Максимальное количество элементов в списочных методах - 50, можно меньше (см. limit-ключ), но больше нельзя.

    а еще более идеальный случай получать сразу csv файл

    Так можно только через веб-интерфейс
    Ответ написан
  • Как по сделке получить историю статусов с датой в апи битрикса?

    gromdron
    @gromdron Куратор тега Битрикс24
    Bitrix developer
    На момент написания комментария историю сделки и историю переходов между стадиями сделки через REST Api получить нельзя.
    Для коробочной версии можно использовать:
    \Bitrix\Crm\History\Entity\DealStageHistoryTable - data mapper для историй состояния (переходы между стадиями)
    CCrmEvent - для обработки истории
    Bitrix\Crm\Timeline\TimelineEntry - для записей в timeline
    Ответ написан
  • Из за чего возникает ошибка Internal server error при попытке отправить POST через CURL для оплаты частями от Privat Bank?

    gromdron
    @gromdron
    Bitrix developer
    Окей.

    'partsCount' => 5,

    partsCount Integer notNull, min=2, max=25 Количество частей на которые делится сумма транзакции (Для заключения кредитного договора) Должно быть > 1.


    'amount' => 2,
    amount Да Double notNull, Min=300, Max=50 000 Окончательная сумма покупки

    Минимальная сумма 300, у вас 2.
    Далее, вы хотите чтобы 2 разделилось каким-то образом на 5?
    Правильно ли я понимаю, что вы хотите чтобы пользователь провел 5 транзакций по 40 копеек?

    Кроме того - у тебя еще и ошибка в сигнатуре:
    'signature' => base64_encode ( SHA1 ( '75bef16bfdce4d0e9c0ad5a19b9940df'.'4AAD1369CF734B64B70F'.'12211212121'.' 200'.' 5'.' PP'.'https://adsasd'.'https://saddsa'.' test1200'.' 75bef16bfdce4d0e9c0ad5a19b9940df' ))

    Если внимательно посмотришь - у тебя пробелы перед 200, 5 и PP стоят.
    Далее: у тебя есть параметр 'recipientId', который ты передаешь, но в хеш-сумме он остутствует, а по правилам должен быть. Либо убирай, либо добавляй в формирование.

    Поделаешь то что нужно и получишь другую ошибку:
    Array
    (
        [orderId] => 12211212121
        [signature] => +JYghcAp9oIQq3xR/Zn1PftEvQ8=
        [state] => FAIL
        [message] => bad value: Scheme not found for given store
        [storeId] => 4AAD1369CF734B64B70F
    )


    Но это все потому, что scheme - это Идентификатор схемы. Выделяется Банком. По умолчанию не передается.

    Удаляешь его и получаешь заветное:
    Array
    (
        [orderId] => 12211212121
        [signature] => S4cN/oBUIIJeHlcJgTTM+gcZddQ=
        [state] => FAIL
        [message] => bad value: Payment with sent orderId already exists
        [storeId] => 4AAD1369CF734B64B70F
    )


    А это потому, что кто-то уже прогнал твой запрос через api или через веб-морду. Меняешь orderid и получаешь заветное:
    Array
    (
        [orderId] => fdsa1
        [signature] => x2m4GaLFv3ptcxZLynRzwuy/t5g=
        [token] => ADFEDB2FB0C7485CB968148D4BFD6B5A
        [state] => SUCCESS
        [storeId] => 4AAD1369CF734B64B70F
    )
    Ответ написан
  • Как верно отрабатывать ошибки для ответа API?

    gromdron
    @gromdron
    Bitrix developer
    А если используется rest, то можно возвращать просто текст и 400 ошибку.
    Ответ написан