Visão geral do desenvolvimento de add-ons para amoCRM usando webHook e widgets

Contente





  1. WebHook





  2. Ferramenta





  3. Suporte técnico





  4. Resultado





Não utilizamos todas as possibilidades de desenvolvimento para amoCRM, nos limitamos a um widget e webHook privados, então é exatamente isso que discutiremos a seguir.





WebHook





Para cada conta (em um teste por apenas 14 dias), você pode instalar o  webHook , a  documentação descreve o processo em detalhes . Não há necessidade de desenvolver integrações.





Em nosso caso, havia informações suficientes sobre como  adicionar uma oferta .





url  (  index.php



)  POST json php:





//   POST    {   json
if(strlen($sRawPost) > 0 && $sRawPost[0] == "{")
{
    $sDecode = json_decode($sRawPost, true);
    if($sDecode !== null) 
        $_POST = $sDecode;
}
      
      



 get



  webHook



  ,  post



  :





{
    "leads": {
        "add": [
            {
                "id": 4564454,
                "name": " ",
                "status_id": 7534534,
                "price" => 0,
                "responsible_user_id": 453453453,
                "last_modified": 1612007407,
                "modified_user_id": 0,
                "created_user_id": 0,
                "date_create": 1612007407,
                "pipeline_id": 4546445,
                "tags": [
                    {
                        "id": 7899
                        "name": tilda
                    }
                ]
            }
        ],
        "account_id": 19277260
        "custom_fields": [
            {
                "id": 448797,
                "name": "name_field",
                "code": "code_field",
                "values": [
                    {
                        "value": "string"
                    }
                ]
            }
        ],
        "created_at": 1612007407,
        "updated_at": 1612007407
    },
    "account": [
        {
            "subdomain": "subdomain",
            "id": 19217260,
            "_links": [
                "self": "https://subdomain.amocrm.ru"
            ]
        }
    ]
}
      
      



     account



,  leads["add"][0]["account_id"] == account["id"]



.





 leads["add"][0]["tags"]



   , , - ,  tilda



.





 leads["add"][0]["custom_fields"]



 -   .





"" ,   ,    - -.





, "".





Editando campos de negócio

- API.





:





$aAdd = $_POST['leads']['add'][0];
 
//  
$aNameCustomFields = array_column($aAdd['custom_fields'], 'name');
 
//     
 
//  
$idOrder = $aAdd['custom_fields'][array_search('ORDERID', $aNameCustomFields)]['values'][0]['value'];
      
      



Adicionar um novo campo de negócio

webHook :)





Tilda, Tilda amoCRM. , amoCRM   , CRM





  , .  .





  , .





    .





 javascript,  twig, js  jquery,  css





 manifest.json



 - ,  ,    .   i18n



.





  ,  manifest.json







 WEB SDK  .





, ,    :)





 ajax  ( , ),  Access-Control-Allow-Origin: *



:





header("Access-Control-Allow-Origin: *");
      
      



, ,     .





,  manifest.json



     widget.version



, .





amoCRM CRM . CRM , 14 . ,  CRM,   . 14 . , , 10 . , -       .  ip amoCRMa partir do qual eles enviam webHook para o nosso servidor, aqueles. suporte via chat online gentilmente os forneceu.No momento da redação deste artigo, os endereços ip dos servidores amoCRM não são de domínio público, você pode descobrir informações sobre eles através do chat online no site.





Resultado

No geral gostei do desenvolvimento para amoCRM, a documentação clara e volumosa com exemplos, mas carregar o widget traz alguns inconvenientes.





Autor: Vitaly Buturlin








All Articles